选择题1599/1603哪一个是正确的?

1const bird = { 2 size: 'small' 3} 4 5const mouse = { 6 name: 'Mickey', 7 small: true 8}
难度:
2021-07-02 创建

本题为"单选题"

参考答案:

正确选项:A:mouse.bird.size是无效的

在 JavaScript 中,所有对象的 keys 都是字符串(除非对象是 Symbol)。尽管我们可能不会定义它们为字符串,但它们在底层总会被转换为字符串。 当我们使用括号语法时([]),JavaScript 会解释(或者 unboxes)语句。它首先看到第一个开始括号 [ 并继续前进直到找到结束括号 ]。只有这样,它才会计算语句的值。 mouse[bird.size]:首先计算 bird.size,这会得到 smallmouse["small"] 返回 true。 然后使用点语法的话,上面这一切都不会发生。mouse 没有 bird 这个 key,这也就意味着 mouse.birdundefined。然后当我们使用点语法 mouse.bird.size 时,因为 mouse.birdundefined,这也就变成了 undefined.size。这个行为是无效的,并且会抛出一个错误类似 Cannot read property "size" of undefined

最近更新时间:2021-07-03

赞赏支持

题库维护不易,您的支持就是我们最大的动力!