在使用类型为‘unknown’的对象时,需要在使用前进行类型断言,将其转换为具体的类型。示例如下:
const obj: unknown = {
name: 'John',
age: 30
// 错误示例:类型为'unknown'的对象无法直接访问属性
console.log(obj.name); // 报错:类型“unknown”上不存在属性“name”。
// 正确示例:进行类型断言,将其转换为具体的对象类型
if (typeof obj === 'object' && obj !== null) {
console.log((obj
as
{ name: string, age: number }).name); // John
// 使用
函数
进行类型断言
function isPerson(obj: any): obj is { name: string, age: number } {
return typeof obj === 'object' && obj !== null &&
typeof obj.name === 'string' && typeof obj.age === 'number';
if (isPerson(obj)) {
console.log(obj.name); // John