ES6(三)独一无二 是 Symbol ❤ ❤

本文详细介绍了ES6中新增的原始数据类型Symbol,其原理是保证值的唯一性,防止变量重名。通过实例展示了Symbol的基本用法,包括创建带有描述的Symbol以及作为对象属性名的两种写法。需要注意的是,Symbol作为属性名时不能使用点运算符,必须使用方括号语法。文章最后强调了Symbol在对象属性标识上的重要性。
摘要由CSDN通过智能技术生成

前言

一、Symbol详述

1、原理:

2、基本用法

3、作用:作为属性名

(1)语法:

         举个栗子~

 (2)第二种写法

(3)注意点:

二、结束语


前言

今天是10.24程序员节小糖祝大家节日快乐,共勉!希望我们都如Symbol一样,皆能成为独一无二的程序员!今天,小糖给大家分享的是ES6新增的一种原始数据类型-----------Symbol

一、Symbol详述

1、原理:

      作为ES6心中的一种原始数据类型,表独一无二的,防止值相同的变量重名

2、基本用法

可以接受一个字符串作为参数为新创建的 Symbol 提供描述

let  a = Symbol("abc");
console.log(a);                // Symbol(abc)
console.log(typeof(a));        // "symbol"
 
let b = Symbol("abc"); 
a === b? console.log(true):console.log(false);// false

 以上栗子可得,即使是a变量b变量都是Symble()类型,两者添加的描述相同(参数相同)
但是返回的值不相等,即a === b;结果为false,由Symble的特性可用作对象属性名的声明

3、作用:作为属性名

(1)语法:

对象名 + [ Symbol声明的变量] = "属性值";

         举个栗子~

let name = Symbol("a");   //Symbol声明的变量
 //声明一个Symbol类型的变量name,a作为属性名
let obj = {};  
//声明一个对象
obj[name] = "凤求凰";
//相当于是给对象的a属性赋值“凤求凰”
console.log(obj);

 (2)第二种写法

let name = Symbol("a");
//声明一个Symbol类型的变量name,a作为属性名
let obj = {
   [name]: "凤求凰"
};
console.log(obj);

(3)注意点:

             Symbol 作为对象属性名时不能用 . 运算符,要使用方括号
             否则就是取到普通字符串的属性,而不是Symbol(独一无二)值的属性

          举个栗子~

let obj = {};
let name = Symbol("a");
//声明一个Symbol类型的变量name,a作为属性名
obj[name] = "凤求凰";

console.log(obj[name]);   //输出为:"凤求凰"
console.log(obj.name);    //输出为:undefined

二、结束语

希望本篇文章可以帮到求知若渴的众多同学吖~
若能帮到 也欢迎
点赞、收藏、关注我,后续也会持续发布新文章,祝大家学有所成!
欢迎各位前端大佬留言讨论指教! 
小糖谢谢各位啦~❤  ❤  ❤  ❤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值