-
let&const
相同点:不能重复声明、不会变量提升、块级作用域(对比var)
不同点:
let const 定义变量,可不赋值 定义常量,不能改,必赋值 取代var 函数、对象、固定值 //只要obj指向的地址不变,就允许修改 const obj={ name:'aa', age:22 } obj.name='bb' // obj={ // name:'bb', // age:24 // } -
解构赋值—快速从数据取出成员
解析某个数据的结构,重新赋值给一组变量,通过变量访问到具体的值
数组解构:可以用来交换值
let [a,b]=[10,20]
[a,b]=[b,a]
对象解构(常用):快速访问到需要的某些属性
let {name,fn}=obj
-
展开/合并运算符
常见场景:函数中参数、数组、对象
展开数组:...[1,2,3]、[...arr,6,6]
展开对象
console.log(...obj);//报错,不能直接展开对象
let newObj = {//解决:存入新对象
height:170,
...obj
}
- 对象简写
let person = {
// uname: uname, //属性值和属性同名时
// sayHi:function(){ //属性值为匿名函数时
// console.log('Hi')
// }
uname,
sayHi(){
console.log('Hi')
}
}
-
模板字符串
用反引号包裹
str
let name='hh';
let age=24;
let str=`我叫${name},今年${age}岁`;
// 作用:1、可换行 2、可解析变量,${变量}
-
箭头函数—匿名函数的简写
去掉function关键字,用箭头连接参数和代码块
特点:
1、形参只有一个时,可省略小括号()
2、代码块只有一行时,可省略大括号{}
代码块为return语句时,可省略return关键字,原因:箭头函数会自动将代码结果作为返回值
与普通函数区别:
this指向不同,普通:谁调用指向谁,箭头:谁定义指向谁
-
函数形参默认值
函数调用时,未传实参,则采用形参作为默认值(有替代直接覆盖)
var ff = function (n,m=10) {
console.log(n,m)
}
ff()//undefined 10
ff(20)//20 20
ff(30,40)//30 40
-
模板的导入导出