TypeScript-为什么允许将字符串分配给数字

时间:2019-11-06 12:49:54

标签: typescript

我的问题是,如果TypeScript安全地用于类型,为什么允许以下内容? tsconfig是否有阻止此标志的标志?

let strNum: any = "2";
let numTest: number;
numTest = strNum;
console.log(`Type of number is: ${typeof numTest}`) 
// Output number is: string

1 个答案:

答案 0 :(得分:2)

因为您将字符串设置为any类型:

let strNum: any = "2";

如果您刚做过:

let strNum = "2";

TypeScript会抱怨说“类型string无法分配给类型number”。


此外,当您登录typeof numTest时,它正在运行JavaScript,而不是TypeScript。 TypeScript在编译时仅了解您的代码。运行代码后,TypeScript便消失了。