ES6-第六天(面向对象与面向过程、新的原始数据类型Symbol)

687 阅读1分钟

一、面向过程

大家肯定都记得宋丹丹的小品片段:把大象装进冰箱需要几步

  1. 打开冰箱门
  2. 把大象装进冰箱
  3. 关上冰箱门

这其实就是面向过程

二、面相对象

万物皆对象,上述问题中就可以抽离出对象:大象、冰箱、隐形的对象。面向对象和面向过程的理解是不可能一蹴而就的,需要结合工作去慢慢领悟。

ES其实是一种基于对象的语言。

三、Symbol

3.1 基本意义

本意是象征,在ES6中表示独一无二的

carbon.png

3.2 Symbol的声明方式

carbon (1).png

carbon (2).png

3.3 Symbol的API

carbon (3).png

3.4 Symbol.for

  • 无论在哪声明,都会在全局作用于定义,如果参数相同,只会定义一次。

carbon (4).png

3.5 Symbol.keyFor

查找当前Symbol是否在全局被定义过

carbon (5).png

3.6 Symbol的应用场景

3.6.1 保证对象的key不冲突

carbon (6).png

3.6.2 保护函数的某个属性

carbon (7).png

3.6.3 消除魔术字符串

就是一个变量写多次,容易写错。我们可以用Symbol避免这种情况

carbon (8).png

加群一起学习 互助 分享

image.png