symbol类型基础认识

本文介绍了JavaScript中的Symbol数据类型,其特点是独一无二的值,不能通过new操作符创建。讲解了如何使用Symbol方法创建和比较符号,以及Symbol.for和Symbol.keyFor方法在存储和检索具有描述性参数的符号时的作用。
摘要由CSDN通过智能技术生成

symbol的含义

一种原始数据类型,特点:独一无二的值

创建 symbol

创建一个 symbol 类型
const sy=Symbol('kk');
const sy1=Symbol('kk');
console.log(sy==sy);//返回fasle

注意:通过 Symbol 方法创建值的时候不可使用 new 操作符,原因是通过 new 实例化的结果是一个 object 对象,而不是原始类型的 symbol
Symbol 方法接收一个参数,该参数只是对生成的 symbol 值的一种描述,没有实际作用
注意的是就算是传入相同的参数,生成的 symbol 值也是不相等的,因为 Symbol 本来就是独一无二的意思
Symbol.for 方法
可以检测上下文中是否已经存在使用Symbol.for 方法且有相同参数创建的symbol 值,如果存在则返回已经存在的值(所以就会有相等的值),如果不存在则新建。

const s1 = Symbol.for('foo');
const s2 = Symbol.for('foo');
console.log(typeOf s1); // symbol
console.log(s1 === s2); // true

Symbol.keyFor 方法返回一个使用 Symbol.for 方法创建的 symbol 值的 key

const abd= Symbol.for("foo");
const key = Symbol.keyFor(abd);//返回字符串类型
console.log(key) // "foo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明日筑梦师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值