const name = undefined
console.log('🚀 ~ mounted ~ name', name?.()) // undefined
const name = 'mike'
console.log('🚀 ~ mounted ~ name', name?.()) // TypeError: name is not a function
这是为什么呢....
const name = undefined
console.log('🚀 ~ mounted ~ name', name?.()) // undefined
const name = 'mike'
console.log('🚀 ~ mounted ~ name', name?.()) // TypeError: name is not a function
这是为什么呢....
你的代码等价于
const name = 'mike'
if(name){//name是个字符串所以这里为true
console.log('🚀 ~ mounted ~ name', name.()) //name只是个字符串,所以这时报错
}
13 回答13k 阅读
8 回答2.7k 阅读
2 回答5.1k 阅读✓ 已解决
7 回答2.1k 阅读
9 回答1.7k 阅读✓ 已解决
5 回答1.3k 阅读
3 回答2.3k 阅读✓ 已解决
Optional Chaining
只负责null
/undefined
判断,不负责判断它是不是function
。如果
a
非null
非undefined
也非function
,a?.()
就会抛出错误。参见提案:https://github.com/tc39/propo...