Open Vitaminaq opened 2 years ago
相同点:任何类型的值都可以赋值给它们。
不同点: 两者从字面意思记忆非常好区分。
any:任意类型。所谓万能卡,直接放弃治疗了,犹如写js,不会有任何类型的校验。 unknow:未知类型。有类型,只是不确定而已,而确定这件事就需要劳烦你去搞定了。
通过下面几个例子可以很简单的发现:
let a: any = ''; a.test; // 不报错 a = {}; // 不报错 let b: unknown = ''; b.test; // 报错:类型“unknown”上不存在属性“test”。 b = {}; // 不报错。 b.length; // 报错:类型“unknown”上不存在属性“length”。 if (typeof b === 'string') { console.log(b.length); // 不报错 }
相同点:任何类型的值都可以赋值给它们。
不同点:
两者从字面意思记忆非常好区分。
any:任意类型。所谓万能卡,直接放弃治疗了,犹如写js,不会有任何类型的校验。 unknow:未知类型。有类型,只是不确定而已,而确定这件事就需要劳烦你去搞定了。
通过下面几个例子可以很简单的发现: