ES6 语法详解(Symbol类型)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> </body> <script type="text/javascript"> /** * 前言: ES5中对象的属性名都是字符串, 容易造成重名, 污染环境 * Symbol: * 概念: ES6中的添加了一种原始数据类型symbol(已有的原始数据类型: String Number Boolean null undefined object) * 特点: * 1. Symbol属性对应的值是惟一的,解决命名冲突问题 * 2. Symbol值不能与其他数据进行计算, 也不能和字符串拼接 * 3. for in, for of 遍历时不会遍历symbol属性 * 使用: */ // 1: 调用Symbol函数得到symbol值 let symbol = Symbol() let obj = { username: 'flower' } obj[symbol] = 'hello' console.log(obj) // 循环不会遍历Symbol属性 for(let item in obj){ console.log(item) } // 2: 传参标识 let symbol2 = Symbol('one') let symbol3 = Symbol('two') console.log(symbol2) console.log(symbol3) // 可以定义常量 const PERSON_KEY = Symbol('person_key') // Symbol属性不能被 遍历 /** * 3: 内置Symbol值 * 除了定义自己使用的Symbol值以外,ES6还提供了11个内置的Symbol值,指向语言内部使用的方法 * Symbol.iterator * 对象的Symbol.iterator属性,指向该对象的默认遍历器方法(后面讲) */ </script> </html>
作者:彼岸舞
时间:2021\08\16
内容关于:前端知识库
本文属于作者原创,未经允许,禁止转发