代码如下:
const load = ()=>{
console.log('--load--');
}
const loadLanguage = ()=>{
console.log('--loadLanguage--');
}
const recognize = ()=>{
console.log('--recognize--');
}
const key = 'load'
({
load,
loadLanguage,
recognize,
})[key]();
执行上述代码,抱错: load is not a function
但是如果把执行代码放在块内,就没问题:
{
({
load,
loadLanguage,
recognize,
})[key]();
}
或者直接执行load()也没问题,所以不太理解,为啥不放在代码块就抱错了呢,应该是和作用域有关,但是我没想明白,求大佬指点
const key = 'load'
后面加个分号,或者在({ load, loadLanguage ...)
前加一个分号。如果你试试
"hello"();
你会发现提示: