一、面向过程
大家肯定都记得宋丹丹的小品片段:把大象装进冰箱需要几步
- 打开冰箱门
- 把大象装进冰箱
- 关上冰箱门
这其实就是面向过程
二、面相对象
万物皆对象,上述问题中就可以抽离出对象:大象、冰箱、隐形的对象。面向对象和面向过程的理解是不可能一蹴而就的,需要结合工作去慢慢领悟。
ES其实是一种基于对象的语言。
三、Symbol
3.1 基本意义
本意是象征,在ES6中表示独一无二的
3.2 Symbol的声明方式
3.3 Symbol的API
3.4 Symbol.for
- 无论在哪声明,都会在全局作用于定义,如果参数相同,只会定义一次。
3.5 Symbol.keyFor
查找当前Symbol是否在全局被定义过
3.6 Symbol的应用场景
3.6.1 保证对象的key不冲突
3.6.2 保护函数的某个属性
3.6.3 消除魔术字符串
就是一个变量写多次,容易写错。我们可以用Symbol避免这种情况