什么是symbol?

简介: 什么是symbol?

Symbol是ES6引入的一种新的基本数据类型。它表示一个独一无二的值,可以作为对象的属性名使用。与字符串或数字等其他类型的属性名不同,Symbol类型的属性名不会与其他属性名冲突,因为每个Symbol值都是唯一的。

Symbol值通过Symbol()函数创建,它的语法格式如下:

let mySymbol = Symbol();

Symbol函数可以接受一个可选的字符串参数,用于描述该Symbol值的含义,例如:

let mySymbol = Symbol('my description');

Symbol值可以用作对象属性的键名,如下所示:

let mySymbol = Symbol('my symbol');
let obj = {
  [mySymbol]: 'foo'
};
console.log(obj[mySymbol]); // 'foo'

需要注意的是,由于Symbol类型的属性名是唯一的,因此它们不能被枚举,即无法使用for...in循环遍历。如果要遍历Symbol类型的属性,可以使用Object.getOwnPropertySymbols方法获取所有Symbol类型的属性名。

相关文章
|
8月前
|
JavaScript 前端开发
ES6:什么是Symbol?
ES6:什么是Symbol?
93 1
|
3月前
|
JavaScript
什么是symbol?
什么是symbol?
76 1
|
8月前
|
JavaScript 前端开发
Symbol有哪些常用的内置方法
Symbol有哪些常用的内置方法
|
JavaScript
Symbol详解
Symbol详解
189 0
|
存储 JavaScript API
ES6 中的 Symbol —— 多的是你不知道的事
ES6 中的 Symbol —— 多的是你不知道的事
92 0
no symbol version section for versioned symbol `memcpy@GLIBC_2.4'
no symbol version section for versioned symbol `memcpy@GLIBC_2.4'
158 0
undefined reference to symbol XGetWindowAttributes/cairo_destroy/XShapeGetRectangles
undefined reference to symbol XGetWindowAttributes/cairo_destroy/XShapeGetRectangles
147 0
|
JavaScript 前端开发 安全
什么?你还不知道Symbol?
ES6引入了一种新的原始数据类型`Symbol`表示独一无二的值。它是JavaScript语言的第七种数据类型,是一种类似于字符串的数据类型。