在学习可选链操作符时,我进行了一些实验,发现这两个表达式的结果都是undefined:
但是为什么会这样呢?这不应该报错吗?
false.nonExistingProperty // undefined
true.nonExistingProperty // undefined
但是为什么会这样呢?这不应该报错吗?
false.nonExistingProperty // undefined
true.nonExistingProperty // undefined
https://developer.mozilla.org/en-US/docs/Glossary/Primitive
在这里,false
和true
被隐式转换为Boolean
对象,也就是说,您正在从Boolean
而不是布尔原始类型中读取nonExistingProperty
。