我正在尝试使用函数更改全局变量的值。
下面是我的js代码:
var name="Samir";
var status=true;
function func1 () {
status=false;
name="sunny"
}
func1();
console.log(name);
console.log(status);
这很好用,但是我很好奇如何使用typescript实现同样的功能。
我正在尝试使用函数更改全局变量的值。
下面是我的js代码:
var name="Samir";
var status=true;
function func1 () {
status=false;
name="sunny"
}
func1();
console.log(name);
console.log(status);
这很好用,但是我很好奇如何使用typescript实现同样的功能。
3条答案
按热度按时间ukdjmx9f1#
42fyovps2#
您的函数是一个构造很差的示例,它在JavaScript中有效,但在TypeScript中无效。
请在此处检查代码:TSPlayground
错误包括
1.无法重新声明块作用域变量'name'
1.后续的变数宣告必须具有相同的型别。变数'status'的型别必须是'string',但这里的型别是'boolean'。
1.类型'boolean'无法指派给类型'string'。
1.无法指派给'name',因为它是常数。
有效JS代码为,
任何有效的JavaScript都将通过TS编译器 ,因为TS是JS 的超集。
通过将函数签名更改为
sshcrbum3#
name
和status
实际上是window
属性。您所需要做的就是使用不同的名称,TS不会抱怨。更新后的Playground