内容:
提示:这个一个vue初学者的随记
ES6相关:
参考:https://www.runoob.com/w3cnote/es6-tutorial.html
1. var, let, const的区别:
var:只有全局作用域和函数作用域概念,没有块级作用域的概念。但是会把{}内也假称为块作用域;未声明默认值undefined,存在变量提升
let:只有块级作用域的概念 ,由 { } 包括起来,if语句和for语句里面的{ }也属于块级作用域;未声明调用会报错;
const:作用域与let相同;只能赋值一次,并且声明时必须初始化
2. 解构赋值
2.1 基本 let [a, b, c] = [1, 2, 3]; //a = 1; b = 2; c = 3;
2.2 可嵌套 let [a, [[b], c]] = [1, [[2], 3]]; //a = 1; b = 2; c = 3;
2.3 可忽略 let [a, , c] = [1, 2, 3]; //a = 1; c = 3;
2.4 不完全解构 let [a = 1, b] = [];//a = 1, b = undefined
2.5 剩余运算符 let [a, ...b] = [1, 2, 3];//a = 1, b = [2, 3]
2.6 字符串 let [a, b, c] = 'def';//a = 'd', b = 'e', c = 'f'
2.7 默认值 let [a = 11, b = a] = [1];//a = 1, b = 1
3. Map和Object的区别
3.1 一个 Object 的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值。
3.2 Map 中的键值是有序的(FIFO 原则),而添加到对象中的键则不是。
3.3 Map 的键值对个数可以从 size 属性获取,而 Object 的键值对个数只能手动计算。
3.4 Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。
## 4. 模块 export与import 模块导入导出各种类型的变量,如字符串,数值,函数,类。 4.1 导出的函数声明与类声明必须要有名称(export default 命令另外考虑)。 4.2 不仅能导出声明还能导出引用(例如函数)。 4.3 export 命令可以出现在模块的任何位置,但必需处于模块顶层。 4.4 import 命令会提升到整个模块的头部,首先执行。 ## export default命令 export default 仅有一个; 通过 export 方式导出,在导入时要加{ },export default 则不需要; export default 向外暴露的成员,可以使用任意变量来接收。