选择题1605/1620输出是什么?

1function checkAge(data) { 2 if (data === { age: 18 }) { 3 console.log('You are an adult!') 4 } else if (data == { age: 18 }) { 5 console.log('You are still an adult.') 6 } else { 7 console.log(`Hmm.. You don't have an age I guess`) 8 } 9} 10 11checkAge({ age: 18 })
难度:
2021-07-02 创建

本题为"单选题"

参考答案:

正确选项:C:Hmm.. You don't have an age I guess

在测试相等性时,基本类型通过它们的值(value)进行比较,而对象通过它们的引用(reference)进行比较。JavaScript 检查对象是否具有对内存中相同位置的引用。 题目中我们正在比较的两个对象不是同一个引用:作为参数传递的对象引用的内存位置,与用于判断相等的对象所引用的内存位置并不同。 这也是 { age: 18 } === { age: 18 }{ age: 18 } == { age: 18 } 都返回 false 的原因。

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

赞赏支持

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