美文网首页
es Symbol 一种新的原始类型

es Symbol 一种新的原始类型

作者: pengkiw | 来源:发表于2020-11-25 15:45 被阅读0次

一种新的原始数据类型Symbol,表示独一无二的值

基本用法
  • Symbol.for() 方法和 Symbol.keyFor() 方法从全局的symbol注册表设置和取得symbol
  • 在对象中查找 Symbol 属性:Object.getOwnPropertySymbols()
let s1 = Symbol('foo');
let s2 = Symbol('foo');
let s3 = Symbol.for('foo1');
let s4 = Symbol.for('foo1');


console.log(s1) //Symbol(foo)
console.log(s2) //Symbol(foo)
console.log(s1 === s2) //false
console.log(s3 === s4) //true
console.log(Symbol.keyFor(s1)) //undefined
console.log(Symbol.keyFor(s3)) //foo1

应用

  1. 消除魔术字符串

const shapeType = {
    triangle: Symbol(),
    circle: Symbol(),
}

function getArea(shape) {
    let area = 0;
    switch (shape) {
        case shapeType.triangle:
            area = 1;
            break;
        case shapeType.circle:
            area = 2;
            break;
        default:
            area = 0
            break;
    }
    return area
}
console.log(getArea(shapeType.triangle))  // 1
console.log(getArea(shapeType.circle)) // 2

相关文章

  • JavaSctipt基础归纳,以及隐式转换的规则

    原始类型: "symbol" 是ES6,新扩展的原始类型;Symbol,表示独一无二的值。Symbol 值通过Sy...

  • js的第七种数据类型Symbol

    Symbol类型是ES6中新加入的一种原始类型。 每个从Symbol()返回的symbol值都是唯一的。一个sym...

  • ES6 Symbol数据类型

    一、Symbol基本使用 1. Symbol 概述: ES6 引入了一种新的原始数据类型 Symbol,表示独一无...

  • TypeScript 学习笔记 之 Symbol 迭代器与生成器

    Symbol symbol 是 ES 2015 引入的一个新的原始类型。 通过 Symbol 构造函数创建。sym...

  • Symbol

    Symbol ES6引入了一种新的原始数据类型Symbol,表示独一无二的值.Symbol值通过Symbol函数生...

  • 9.Symbol

    概述 ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。Symbol 值通过 Symbol 函数...

  • ES6系列二:Symbol

    ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。 Symbol 值通过 Symbol 函数生成...

  • ES6入门 ___ Symbol

    一、概述 ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。Symbol值通过 Symbol 函...

  • 基础类型:Symbol

    ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值 Symbol 值通过Symbol函数生成。这就是...

  • ES6 symbol 以及symbol的简单应用

    前置 1.ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。2.Symbol 值通过Symbol函...

网友评论

      本文标题:es Symbol 一种新的原始类型

      本文链接:https://www.haomeiwen.com/subject/qluifktx.html