⚡ 编程实验室🏗️ 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🎮 游戏🏠 网站首页

Symbol 与内置符号:隐藏属性与协议定制

利用 Symbol 创建私有属性和覆盖语言内部行为,如 Symbol.toPrimitive、Symbol.hasInstance。 · 难度:入门 · +10XP

Symbol 与内置符号:隐藏属性与协议定制

Symbol 是 JavaScript 的原始类型,常用于定义唯一的属性键,避免命名冲突。本教程深入讲解内置的 Well-known Symbols,例如 Symbol.toPrimitive 控制对象到原始值的转换,Symbol.hasInstance 定制 instanceof 行为,Symbol.match 影响 String.prototype.match。我们还会演示如何利用 Symbol 模拟私有属性(尽管并非真正私有),以及使用 Symbol.for 在全局注册表中共享符号。

class MyNumber {
  constructor(value) {
    this.value = value;
  }
  Symbol.toPrimitive {
    if (hint === 'string') return 数值: ${this.value};
    if (hint === 'number') return this.value * 2;
    return this.value;
  }
}
const obj = new MyNumber(10);
console.log(String(obj)); // "数值: 10"
console.log(+obj);        // 20
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 231 篇
0 完成
🔥 0