一:常用命令
- var 有变量提升
- let 是块级作用域,没有变量提升
- 模板语言 “ 还原百分百定义的格式
- const 定义常量,特殊情况可以改变值
const b=1;
b=2; // error
const b={a:1};
b.a = 2 // ok
b.c = 10 // ok 'object是内存地址,地址不变就没问题'
- 默认值
在不知道接收到个什么参数或参数为空的情况,我们可以给个默认值
function sum(num1,num2=3){
return num1+num2;
}
sum(7) // 10
箭头函数
function内部的作用域指向的是调用这个函数的对象
箭头函数的作用域本身没有作用域,里面的this就是外面的this,
不用再 var _this = this 。数组的解构
var [a,b,c] = [3,8,10]; // 数组的分解
var [x,y,z] = "vue"; // 字符串的分解
console.log('x:${x},y:${y},z:${z}'); // x:V,y:u,z:e
var {m,n} = {m:10,n=20}; // 对象的解构,对key进行拆分
console.log('m:${m},n:${n}); // m:10,n:20
- 函数的Rest参数和扩展
… 代表Rest参数:不确定会传入多少个参数时使用,rest参数后面不能再有其他参数(只能是最后一个)
function sum = (...m)=>{ // (a,b,..m)行 (a,b,..m,c)不行
let total = 0;
for(var i of m){
total +=i ;
}
console.log(`total:${total}`)
}
sum(1,2,3,4); // 10
数组的扩展
console.log(...[4,8]); // 4 8
三个点跟数组结合就会进行运算,把4跟8进行拆减
数组的合并也会简单很多:
var arr1 = [1,2]; var arr2 = [3,4];
[...arr1,...arr2] // [1,2,3,4]
字符串的扩展
let xy = [...'ES6']; // 三个点跟字符串放一起会进行拆减
console.log(xy); // ["E","S","6"]
结构的扩展
var [x,...y] = [4,8,10,30];
console.log(y); // [8,10,30]