const x:any = 5;
foo(x);
...
function foo( p: string) {
console.log('foo',p, typeof(p))
}
控制台:foo 5 数字
预期:foo '5' 字符串或错误。
为什么没有自动转换或至少出现错误?该怎么办?
谢谢!
PS:我尝试了一个在线编译器并得到了编译错误,所以我对其进行了调整,因为我从 json 获取 x。
const x:any = 5;
foo(x);
...
function foo( p: string) {
console.log('foo',p, typeof(p))
}
控制台:foo 5 数字
预期:foo '5' 字符串或错误。
为什么没有自动转换或至少出现错误?该怎么办?
谢谢!
PS:我尝试了一个在线编译器并得到了编译错误,所以我对其进行了调整,因为我从 json 获取 x。
TypeScript 不转换类型。TypeScript 仅在编译时检查类型匹配。但是您已经指定 x 的类型为 any,这告诉编译器您不想检查 x 的类型。
显式转换类型: