1.块级作用域,let和var的区别
2.let和const的区别
案例一:
let name = 'jack';
name = 'rock';
console.log(name) //打印出来rock
const name = 'jack';
name = 'rock'
console.log(name) //vue报错,const定义的不能改变
案例二:
const star = {
id:1,
name:'jack'
}
star = {
id:2,
name:'rock'
}
console.log(star) //报错,const定义的对象不能重新赋值,这是因为内存地址发生改变
案例三:
star.name = 'rock'
console.log(star) //成功,这是因为内存地址未发生改变
案例四:
star.age = '18'
console.log(star) //成功,这是因为内存地址未发生改变
//const定义的常量不允许重新赋值,但是const定义的对象里的属性可以发生改变,也可以新增属性
3.对象增强写法
案例一:
const name = 'jack'
let star = {
id:1,
name //name:name可以缩写为name
}
案例二:
getInfo: function() {}
getInfo() {}
//这两个全等
4.箭头函数
案例一:
const res = function(num) {
return num * num;
};
console.log(res(4)); //返回16
箭头函数写法一:
const res = (num) => { return num * num }
箭头函数写法二:当只有一个参数时候可以不写括号,没有参数时候必须写括号,两个参数时候也必须写括号
const res = num => { return num * num }
箭头函数写法三:当大括号中只有一句话时,大括号可以省略
const res = num => return num * num
使用案例:
let array = [1,2,3,4,5]
const res = array.filter( item => item >= 3 )
console.log(res) //打印出来 res = [3,4,5]
5.对象解构
const obj = {
id:1,
name:'jack',
gender:1
}
//解构
const {id, name, gender } = obj
console.log(id,gender,name) //打印成功
6.展开运算符,concat(). 拼接数组
案例一:数组拼接
let arr;
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
// arr = [...arr1, ...arr2];
arr = arr1.concat(arr2);
console.log(arr);
案例二:对象拼接
let obj1 = { id:1 }
let obj2 = { age:'17' }
let obj = { ...obj1,...obj2 }
console.log(obj) //打印出 {id:1,age:'17'}
7.class类(待学习)
8.导入导出 export import(待学习)