es6新类型之Symbol学习笔记(一)

okgoes 2023-05-09 13:07:19
Categories: Tags:

Symbol

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// JavaScript Demo: Symbol - Constructor
const symbol1 = Symbol();
const symbol2 = Symbol(42);
const symbol3 = Symbol('foo');

console.log(typeof symbol1);
// expected output: "symbol"

console.log(symbol3.toString());
// expected output: "Symbol(foo)"

console.log(Symbol('foo') === Symbol('foo'));
// expected output: false

语法

1
2
Symbol([description])

参数

description 可选

说明

1
2
3
4
var sym1 = Symbol();
var sym2 = Symbol('foo');
var sym3 = Symbol('foo');

1
2
Symbol('foo') === Symbol('foo'); // false

1
2
var sym = new Symbol(); // TypeError

1
2
3
4
5
var sym = Symbol('foo');
typeof sym; // "symbol"
var symObj = Object(sym);
typeof symObj; // "object"