我不明白为什么 typescript 编译器不将 undefined
与 unsigned
变量分类。
class MyClass {
N1: number;
N2: number;
}
var mc = new MyClass();
mc.N2 = mc.N1;
alert(mc.N2); // output: undefined
为什么输出不是使用未分配的变量“mc.N1”
?
它不能是未定义
,因为我已经明确定义了。它是一个数字(一个没有默认值的数字)。
此外,未定义
意味着:我们没有变量mc.N2
。
我的问题是:我是否误解了什么?如果有,请指正。
最佳答案
这是您的 JavaScript 代码:
var MyClass = (function () {
function MyClass() {
}
return MyClass;
})();
var mc = new MyClass();
mc.N2 = mc.N1;
alert(mc.N2);
Why isn't the output Use of unassigned variable 'mc.N1'?
JavaScript 中不存在这样的未分配状态。
It cannot be undefined because I've defined clearly. It's a number (a number exactly without a default value).
在 javascript 中,变量要么是未定义的,要么是未分配任何值的,
或 null(也是一个值),或任何字符串、整数或 float 、日期或 bool 值。
但是声明 number
对变量的值没有影响。这是 typescript 的内部事务。
Also, undefined mean: we don't have variable mc.N2.
未定义并不意味着您没有变量,它意味着 mc.N2 尚未分配任何值的变量
关于typescript - typescript 中未定义与未分配的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34965303/