我的问题是,如果TypeScript安全地用于类型,为什么允许以下内容? tsconfig是否有阻止此标志的标志?
let strNum: any = "2";
let numTest: number;
numTest = strNum;
console.log(`Type of number is: ${typeof numTest}`)
// Output number is: string
答案 0 :(得分:2)
因为您将字符串设置为any
类型:
let strNum: any = "2";
如果您刚做过:
let strNum = "2";
TypeScript会抱怨说“类型string
无法分配给类型number
”。
此外,当您登录typeof numTest
时,它正在运行JavaScript,而不是TypeScript。 TypeScript在编译时仅了解您的代码。运行代码后,TypeScript便消失了。