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

JS Symbol 符号

学习Symbol · 难度:高级 · +15XP

JavaScript Symbol —— 独一无二的标识符

Symbol是ES6引入的原始类型。每个Symbol值都是独一无二的——即使描述相同,它们也不相等。主要用于对象属性名,防止属性名冲突。

基本用法

const sym1 = Symbol('id');
const sym2 = Symbol('id');
console.log(sym1 === sym2); // false!描述相同但值不同

const obj = { [sym1]: '不会和其他属性冲突', name: '小明' }; console.log(obj[sym1]); // '不会和其他属性冲突' // Object.keys()和for...in不会遍历Symbol属性 console.log(Object.keys(obj)); // ['name']

全局Symbol注册表

const globalSym1 = Symbol.for('app.id');  // 全局注册
const globalSym2 = Symbol.for('app.id');
console.log(globalSym1 === globalSym2); // true!同一个Symbol
console.log(Symbol.keyFor(globalSym1)); // 'app.id'

动手练习

  1. 基础练习:用Symbol给对象添加"私有"属性。
  2. 进阶应用:用Symbol.iterator让自定义对象支持for...of。
  3. 项目实战:研究React中Symbol的使用(如React.element类型检测)。

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

🏆 学习排行

加载中...

📊 统计

📖 231 篇
0 完成
🔥 0