⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

TS 类型守卫:让代码更安全

学习 TypeScript 类型守卫,掌握 typeof、instanceof 和自定义守卫的使用。 · 难度:入门 · +15XP

类型守卫的概念

类型守卫是 TypeScript 中的一种运行时检查机制,用于在代码块中缩小变量的类型范围。它帮助我们更安全地操作联合类型或未知类型的数据。

常见的类型守卫

守卫方式适用场景
typeof基本类型(string, number, boolean 等)
instanceof类实例
自定义守卫复杂逻辑或接口判断

代码示例

function printLength(value: string | number) {
  if (typeof value === 'string') {
    console.log(value.length);  // 这里 value 是 string 类型
  } else {
    console.log(value.toFixed(2));  // 这里 value 是 number 类型
  }
}

// 自定义守卫 interface Cat { meow(): void } interface Dog { bark(): void }

function isCat(pet: Cat | Dog): pet is Cat { return (pet as Cat).meow !== undefined; }

function handlePet(pet: Cat | Dog) { if (isCat(pet)) { pet.meow(); } else { pet.bark(); } }

练习提示

尝试编写一个函数,接受 string | number | boolean 类型参数,使用类型守卫分别输出不同格式:字符串转大写、数字转二进制、布尔值转 '是' 或 '否'。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 200 篇
0 完成
🔥 0