【问题标题】:Why can I define something as 'let'? [duplicate]为什么我可以将某事定义为“让”? [复制]
【发布时间】:2021-10-30 09:09:06
【问题描述】:

我在试验 JS,开玩笑地尝试重新定义 let 关键字,结果出乎意料地成功了。

它不适用于任何其他关键字,例如 whileconstvar 等。 为什么 JS 可以正常工作?

let = 'Weird'
console.log(let)
console.log(typeof let)
console.log(let.length)

let = ['Weird','Very Weird']
console.log(let)
console.log(typeof let)
console.log(let.length)

let = 80
console.log(let)
console.log(typeof let)
console.log(let/80)

还有一件奇怪的事情:

var let = 'Even More Weird'
console.log(let)
let = 50
console.log(let)
let = (x)=>x**2
console.log(let(3))

【问题讨论】:

标签: javascript keyword let


【解决方案1】:

如果你不指定严格模式,你可以重新声明 let

"strict mode"; // firt statement on the script
...

它还取决于执行代码的引擎,在 firefox(spiderMonkey 引擎)引擎中,您会看到错误:“Uncaught SyntaxError: redeclaration of let i”,但在 V8 在 chrome 中,如果你不指定严格模式,它会毫无问题地工作

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-18
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
  • 2013-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多