类型检查不适用于JSON.parse()?

时间:2017-06-07 08:43:08

标签: typescript typescript2.0

无法找到一个正确的解释,为什么类型检查不能与JSON.parse()一起使用,有人可以对它有所了解吗?例如:

> let n: number = 1
undefined
> typeof n
'number'
> n = true
⨯ Unable to compile TypeScript: [eval].ts (1,1): Type 'true' is not assignable to type 'number'. (2322)
> typeof JSON.parse(JSON.stringify(true))
'boolean'
> n = JSON.parse(JSON.stringify(true))
true
> typeof n
'boolean'

谢谢!

1 个答案:

答案 0 :(得分:3)

因为如果您看到any的类型定义,则会返回parse(text: string, reviver?: (key: any, value: any) => any): any;

$match

这意味着将在解析的输出上禁用类型检查。您可以详细了解any type in the official documentation.