symbol数据类型

2023-04-27,

symbol声明的类型独一无二

概念:表示独一无二的值,永远不相等

s1 = Symbol()
s2 = Symbol()
s1 !== s2

基本使用: 通过Symbol函数生成,得到一个symbol类型的值

使用场景:一般用在对象属性名,确保在对象中不会出现同名的属性,防止不小心修改或者覆盖。

symbol中的标识放字符串

Symbols 与 JSON.stringify()

1.当使用 JSON.strIngify() 时,以 symbol 值作为键的属性会被完全忽略

JSON.stringify({[Symbol("foo")]: "foo"});
// '{}'

2.Symbol 数据类型的另一特点是隐藏性,for···in,object.keys() 不能访问

 let id = Symbol("id");
let obj = {
[id]:'symbol'
};
for(let option in obj){
console.log(obj[option]); //空
}
undefined
Object.keys(obj)
[]

3.不能转换成数字类型

Number()
parseint()

4.可以显式转换成字符串,不可以隐式。不能参与运算(字符串,数字)

symbol数据类型的相关教程结束。

《symbol数据类型.doc》

下载本文的Word格式文档,以方便收藏与打印。