美文网首页Web前端之路程序员
JavaScript 中 Symbol 特性及使用

JavaScript 中 Symbol 特性及使用

作者: 老邵 | 来源:发表于2018-04-14 20:01 被阅读21次

Symbol 是一种数据类型,在 JavaScript 中 Symbol() 函数用来创建该类型的实例。像下面这样:

let sym = Symbol("str");

其中函数传入的字符串用来描述创建的实例,可以不传入。

Symbol() 生成的值是一个匿名的,不可枚举的,唯一的值。Symbol 类型唯一合理的用法是用变量存储 Symbol 值,然后用存储的值创建对象属性。

const pro = Symbol();
let obj = {};
obj[pro] = "symbol prototype";

除了自己创建,JavaScript 还提供了一些内建的 symbol。比如 Symbol.iterator 用来返回一个对象默认迭代器,可以用来使 Object 具有迭代行为:

var obj = {
 a: 1
};

obj[Symbol.iterator] = function () {
  return {
    next: function () {
        return {
            /* 这是要返回的对象,格式是固定的,done 为 true 时迭代停止 */
            value: 1,
            done: false
        }
    }
};
 }

for (let val of obj) {
console.log(val);// 会打印无数个 1
}

相关文章

  • JavaScript 中 Symbol 特性及使用

    Symbol 是一种数据类型,在 JavaScript 中 Symbol() 函数用来创建该类型的实例。像下面这样...

  • 专辑篇:JS高级

    前言:本篇主要讲各个api主要方法及使用----还有就是js中与众不同的语言特性. JavaScript对象 JS...

  • 001|JavaScript ES6新特性之Symbol

    Symbol symbol是JavaScript中的一种基础数据类型(primitive types)。而Symb...

  • ES6 中的 Symbol

    JavaScript 之 Symbol Symbol是什么 Symbol是ES6中新引入的一种基本数据类型。Sym...

  • ES6系列二.一:Symbol原理

    上节我们介绍了symbol 基本用法,这节我们来实现它的每一个特性。 特性 Symbol 值通过 Symbol 函...

  • 快速了解Es6中的Symbol

    Symbol是Es6中的一个新特性,它是一个基本数据类型。 javascript从Es6起,基本数据类型变为6种 ...

  • JavaScript的简单总结

    JavaScript 1. JavaScript特性与简单使用 1. 特性 编程语言:可以编写有处理逻辑的程序的语...

  • ES6的Symbol类型介绍

    Symbol特性 Symbol类型不可被Object.keys或for...in枚举 Symbol类型是唯一值,即...

  • JavaScript Symbols深入了解

    symbol是最新的JavaScript特性,它为语言带来了一些好处,并且在用作对象属性时特别有用。但是,它们可以...

  • Symbol (es6)

    1.为什么要使用Symbol 2.Symbol的基本使用 3.Symbol值作为key 4.遍历对象中的Symbo...

网友评论

    本文标题:JavaScript 中 Symbol 特性及使用

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