给定一个任意对象检查对象是否具有给定键,以及它是否确实在typescript中返回该键的值

时间:2017-02-04 04:59:17

标签: javascript json object typescript

给定一个任意对象我想检查它是否是这种形式。

# IMPORTS import pygame, random # GLOBALS global screen, displayW, displayH global clock, FPS global end, food, player # SETGLOBALVALUES def setGlobalValues(): global screen, displayW, displayH global clock, FPS global end, food, player displayW = 800 displayH = 600 screen = pygame.display.set_mode((displayW, displayH)) clock = pygame.time.Clock() FPS = 60 end = False food = Food() player = Player() # MAIN def main(): pygame.init() setGlobalValues() setup() gameLoop() quitGame() # GAMELOOP def gameLoop(): global end, player while(not end): for event in pygame.event.get(): # ONCLICK QUIT if(event.type == pygame.QUIT): end = True; # KEYDOWN if(event.type == pygame.KEYDOWN): if(event.key == pygame.K_LEFT): player.velX -= 10 if(event.key == pygame.K_RIGHT): player.velX += 10 # KEYUP if(event.type == pygame.KEYUP): if(event.key == pygame.K_LEFT): player.velX = 0 if(event.key == pygame.K_RIGHT): player.velX = 0 draw() animate() collision() setFPS() # DRAW def draw(): global screen, food, player # fill background screen.fill((255, 255, 255)) player.draw() if player.y >= 200: player.draw() food.draw() # update pygame.display.update() # ANIMATE def animate(): global food, player food.animate() player.animate() # COLLISION def collision(): player.collision() # SETFPS def setFPS(): global clock, FPS clock.tick(FPS); # CLASSES class Food(): def __init__(self, img="", x=0, h=0, velY=0, color=()): global displayW self.img = pygame.image.load("assets/img/rsz_burger.png") self.x = random.randrange(0, displayW) self.y = -100 self.velY = 3 self.color = (255, 0, 0) def draw(self): global screen screen.blit(self.img, (self.x, self.y)) def animate(self): self.y += self.velY def collision(self): global displayW, displayH pass class Player(): def __init__(self, x=0, y=0, velX=0, velY=0, w=0, h=0, color=()): global displayW, displayH self.w = 20 self.h = 20 self.x = displayW / 2 - self.w / 2 self.y = displayH - 100 self.velX = 0 self.velY = 0 self.color = (0, 0, 0) def draw(self): global screen pygame.draw.ellipse(screen, self.color, (self.x, self.y, self.w, self.h)) def animate(self): self.x += self.velX self.y += self.velY def collision(self): global displayW # collision to walls if(self.x <= 0): self.velX = 0 elif(self.x + self.h) >= displayW: self.velX = 0 # SETUP def setup(): pygame.display.set_caption("Food Catcher") # QUIT GAME def quitGame(): pygame.quit() quit() # CALL MAIN if(__name__ == "__main__"): main()

我可以使用obj = {WHERE:{antherObject},OPTIONS{anotherObject}}检查对象是否有密钥  但之后如何访问密钥的值?

我在想这样的事情。

hasProperty(key)

1 个答案:

答案 0 :(得分:0)

在javascript(和typescript)中,有两种方法可以访问对象属性:

  1. 点符号,例如obj.WHERE
  2. 括号表示法,例如obj['WHERE']
  3. 当您知道要查找的键时,通常会使用点表示法。当您使用变量或动态生成的值作为键时,必须使用括号表示法。