⚡ 编程实验室🏗️ 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 类型守卫:让类型更安全

学习如何使用 typeof、instanceof 和自定义类型守卫精确控制类型流。 · 难度:入门 · +15XP

类型守卫的概念

类型守卫是 TypeScript 在运行时检查变量类型的一种表达式,它能在代码块中缩小类型范围,从而安全地访问特定类型的属性和方法。类型守卫的核心价值在于将静态类型检查与动态运行时行为结合,减少类型断言带来的风险。

常见的类型守卫方式

守卫方式适用场景
typeof基本类型(string、number、boolean等)
instanceof类实例
in对象属性是否存在
自定义守卫复杂类型判断

代码示例

function isString(value: unknown): value is string { return typeof value === 'string'; } function process(input: string | number) { if (isString(input)) { console.log(input.toUpperCase()); } else { console.log(input.toFixed(2)); } }

练习提示:尝试编写一个自定义类型守卫,判断一个对象是否具有 'name' 和 'age' 属性,并返回该对象为 Person 类型。

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

🏆 学习排行

加载中...

📊 统计

📖 200 篇
0 完成
🔥 0