1.ES6

1.let

①let不存在预解析。--即使用前一定要定义。

②let声明的变量不允许在相同作用域内重复声明

③ES6引入块级作用域。--即let在块内部中定义,只能在块内部使用

 

2.const

①const不存在预解析。--即使用前一定要定义。
②const不能重复声明。且声明后必须赋值。
③如果声明的是常量,一旦声明后就不能修改了。如果声明的是对象,则是可以更改的。

 

3. 变量的解构赋值(按照一定的模式,从数组或者对象中把数据拿出来,对变量进行赋值。)

①数组解构赋值
· 等号左边与等号右边必须都是数组。
· 数组里的元素要一一对应,如果对应不上就是undefined。

②对象解构赋值
· 等号左边与等号右边必须都是对象。
· 对象的属性名字要一一对应,如果对应不上就是undefined,顺序不需要对应。

③字符串解构赋值

④函数参数的解构赋值

 ⑤应用场景?

//1.交换变量的值
let x=1;
let y=2;
[x,y]=[y,x];

//2.提取json数据
let myJson={
    id:42,
    status:'200',
    data:[{name:'张三',age:2},{name:'李四',age:5}]
}
let {id,,status,data:myData}=myJson
console.log(id,status,myData)

//3.遍历map结构
const map=new Map();
map.set('first','hello');
map.set('second','world');
for(let [key,value] of map){
    console.log(key,value)
}

 

4.箭头函数

//参数:①如果没有参数,需要写一对空的小括号;    ②只有一个参数,那就直接写,不用加括号;    ③参数有多个,需要加一个小括号,参数用逗号隔开
//函数的主体:放在箭头后面。如果语句只有一条,那就直接写。如果语句有多条,需要把他们放在一对大括号里。
let arr=[3,5,7]
arr.forEach((res,index)=>{
    console.log(res,index)
})

 

5.rest剩余参数

//①rest参数是一个数组,他的后面不能再有参数,不然会报错;
//②...arr 三个点后面是一个数组,作用是把数组转成不加中括号的集合
let str='abc';
console.log([...str]); //字符串转数组。输出:['a','b','c']
let num=[2,5,7,8];
console.log(...num); //数组转集合。输出:2,5,7,8

 

6.set:类似数组,所有数据都是唯一的,没有重复值。

let arr=[1,1,2,4,5];
let arr1=new Set(arr); //自动去除重复值。输出:[1,2,4,5]
arr1.size(); //数据长度
arr1.add('a'); //添加
arr1.delete(1); //删除
arr1.has('a'); //查找数据,返回一个布尔值
arr1.clear(); //删除所有

 

 7.map:类似对象,键值对的集合,所有的数据都是唯一的,不可重复的。每条数据都需要放在一个数组中。

let map1=new Map([['name','张三'],['age',24]]); //自动去除重复值。输出:[{"name" => "张三"},{"age" => 24}]
map1.size(); //数据长度
map1.set('sex','男'); //添加
map1.delete('name'); //删除
map1.has('name'); //查找数据,返回一个布尔值
map1.clear(); //删除所有
map1.get('name'); //获取数据值

 

 

 

posted @ 2023-07-06 16:45  cjl2019  阅读(7)  评论(0编辑  收藏  举报