ES6基础学习
并不是单纯学习ES6,而是作为对vue的进一步学习的前提,进行学习,所以要结合vue的一些特点进行学习。
文章学习路线来自菜鸟教程
1、let和const
let: 仅在代码块中生效,仅能声明一次,let声明后不能进行变量提升,即声明前不存在。
console.log(a); //ReferenceError: a is not defined
let a = "apple";
console.log(b); //undefined
var b = "banana";
const:只读,必须在声明时赋值。可以将一个变量赋值给const,然后改变变量,这样const也会跟着改变。仅在代码块内起效,使用时必须先存在。
var PI = "a";
if(true){
console.log(PI); // ReferenceError: PI is not defined
const PI = "3.1415926";
}
2、解构赋值
就是在赋值的时候自动解构赋值对象,对应元素赋值。
3、Symbol
多了一个原始数据类型,不能new,不能遍历,不能用点取值。每个symbol都是不一样的,所以可以用作属性名,可以用symbol来定义常量。
let syObject = {
};
syObject[sy] = "kk";
syObject[sy]; // "kk"
syObject.sy; // undefined
两个方法,提供单例模式
let yellow = Symbol("Yellow");
let yellow1 = Symbol.for("Yellow");
yellow === yellow1; // false
let yellow2 = Symbol.for("Yellow");
yellow1 === yellow2; // true
Symbol.keyFor() 返回一个已登记的 Symbol 类型值的 key ,用来检测该字符串参数作为名称的 Symbol 值是否已被登记。
let yellow1 = Symbol.for("Yellow");
Symbol.keyFor(yellow1)