zoukankan      html  css  js  c++  java
  • ES6_07_Symbol属性

    Symbol属性:

    前言:ES5中对象的属性名都是字符串,容易造成重名,污染环境 Symbol:
    概念:ES6中的添加了一种原始数据类型symbol(已有的原始数据类型:String, Number, boolean, null, undefined, 对象)
    特点:
    1、Symbol属性值对应的值是唯一的,解决命名冲突问题
    2、Symbol值不能与其他数据进行计算,包括同字符串拼串
    3、for in, for of遍历时不会遍历symbol属性。
    使用:
    1、调用Symbol函数得到symbol值

    let symbol = Symbol();
    let obj = {};
    obj[symbol] = 'hello';


    2、传参标识

    let symbol = Symbol('one');
    let symbol2 = Symbol('two');
    console.log(symbol);// Symbol('one')
    console.log(symbol2);// Symbol('two')


    3、内置Symbol值
    * 除了定义自己使用的Symbol值以外,ES6还提供了11个内置的Symbol值,指向语言内部使用的方法。
    - Symbol.iterator
    * 对象的Symbol.iterator属性,指向该对象的默认遍历器方法(后边讲)

    举例:

     //创建symbol属性值
        let symbol = Symbol();
        console.log(symbol);
        let obj = {username:'kobe', age:39};
        obj[symbol] = 'hello';
        console.log(obj);
        //for in ,for of不能遍历symbol属性
        for(let i in obj){
            console.log(i);
        }
    
    
        let symbol2 = Symbol('one');
        let symbol3 = Symbol('two');
        console.log(symbol2 == symbol3);
        console.log(symbol2, symbol3);
    
        //可以去定义常量
        const Person_key = Symbol('person_key');
        console.log(Person_key);
    我是一个刚刚开始写博客的大可,内容有不详细或是错误的,还希望各位大佬私信我,我会进行纠正,谢谢啦!^-^
  • 相关阅读:
    Weebly轻松创建个人网站
    人生如游戏
    1 欧拉角与四元数计算机动画笔记
    图形学相关的一些数学基础书
    1047 Student List for Course (25 分)
    1124 Raffle for Weibo Followers (20 分)
    1065 A+B and C (64bit) (20 分)
    1036 Boys vs Girls (25 分)
    1039 Course List for Student (25 分)
    1054 The Dominant Color (20 分)
  • 原文地址:https://www.cnblogs.com/sunjiaojiao/p/11149267.html
Copyright © 2011-2022 走看看