在哪里可以找到打字稿中每种类型的默认值?例如,在哪里提到number
类型的默认值为null
或0.
?或者关于string
?
默认值表示已定义但未分配的变量的值。像let a : number;
一样。这在对象定义中发生了很多。例如:
class A{
let a: number;
let b: string;
}
let obj: A;
因此,问题是关于a
的{{1}}和b
的值。
答案 0 :(得分:4)
每种类型的默认值为undefined
尚未赋值的变量是undefined类型。
例如,即使greeting
的类型为String
let greeting: string;
alert(greeting);
答案 1 :(得分:2)
你必须记住,Typescript转换为javascript。在Javascript中,未分配变量的默认值为undefined
,定义为here。
例如,以下打字稿代码:
let a: string; console.log(a);
将转换为以下javascript并记录undefined
。
var a; console.log(a);
当您将参数传递给类的函数或构造函数时,这也适用:
// Typescript
function printStr(str: string) {
console.log(str);
}
class StrPrinter {
str: string;
constructor(str: string) {
this.str = str;
console.log(this.str);
}
}
printStr();
let strPrinter = StrPrinter();
在上面的代码示例中,typescript会抱怨函数和类构造函数缺少一个参数。尽管如此,它仍然可以转变为:
function printStr(str) {
console.log(str);
}
var StrPrinter = (function () {
function StrPrinter(str) {
this.str = str;
console.log(this.str);
}
return StrPrinter;
}());
printStr();
var strPrinter = StrPrinter();
您可能还想看看打字稿如何转换为javascript here。