ECMAScript 6介绍了该let声明.我听说它被描述为"本地"变量,但我仍然不太确定它与var关键字的行为有何不同.
有什么区别?何时应该let使用var?
我正在尝试在 Typescript 中使用 globalThis,我想就如何以更好的方式编写它提出一些建议。
目前的实现是这样的:
创建一个文件types/global.d.ts并在里面添加
interface Global {
foo: string
}
declare let foo: Global["foo"];
Run Code Online (Sandbox Code Playgroud)
在tsconfig.json添加
"files": [
"types/global.d.ts"
]
Run Code Online (Sandbox Code Playgroud)
然后,以设定的值foo使用
(globalThis as any).foo = "The value of foo"
Run Code Online (Sandbox Code Playgroud)
我不喜欢这种方法首先是需要样板(但我认为这是无法避免的),其次是(globalThis as any).foo =表达式
<!DOCTYPE html>
<html>
<body>
<p id="demo1"></p>
<p id="demo2"></p>
<script>
var status = [true,false,true,false,true,false,true,false,true,false];
var status1 = [true,false,true,false,true,false,true,false,true,false];
document.getElementById("demo1").innerHTML = status[2];
document.getElementById("demo2").innerHTML = status1[2];
</script>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/vdr2r38r/
为什么不同名称的相同变量的行为不同?