es6总结(上)

1. let

声明变量只在所处的块级有效

if(true){
    
    
        let a=10;
}
console.log(a);  //a未定义

防止循环变量变成全局变量

for(let i=0;i<2:i++){
    
    }
console.log(i);  //i is not defind
for(var i=0;i<2:i++){
    
    }
console.log(i);  //2

不存在变量提升

console.log(a);   //a is not defind
let a=100;   

暂时性死区

var num=10iftrue{
    
    
console.log(num) ;  //num is not defind
let a=20;   
}

拓展

var arr=[]for (var i=0; i<2:i++){
    
    
    arr[i]=function(){
    
    
    console.log(i);
    }
}
arr[0]();  //2
arr[1]();   //2
var arr=[]for (let i=0; i<2:i++){
    
    
    arr[i]=function(){
    
    
    console.log(i);
    }
}
arr[0]();  //0
arr[1]();   //1

2.const

使用const必须赋初始值,常量赋值后,值不可修改

const Pi;(X)
const Pi=3.14;()

三者区别

在这里插入图片描述

3.结构赋值(一一对应赋值)

let ary=[1,2,3];
let [a,b,c,d,e]=ary;
console.log(a);//1
console.log(b);//2
console.log(c);//3
console.log(d);//undefined

对象结构

let person=[name:'zhangshan',age:'20'];
let [name,age]=ary;
console.log(name);//zhangshan
console.log(age);//20

let [name:myName,age:myAge]=person;
console.log(myName);//zhangshan
console.log(myAge);//20

4.箭头函数

const fn=()=>{
    
    
    console.log(123);
    }
    fn();

const sum=(n1,n2)=>n1+n2;
const result=sum(10,20);
console.log(result);

箭头函数不绑定this关键字,箭头函数中的this,指向是函数定义位置的上下this.

const obj={
    
    name:'张三'}
function fn(){
    
    
    console.log(this);
    return()=>{
    
    
console.log(this);
}
    }
const resFn=fn.call(obj);
    resFn();
//zhangsan

5.剩余函数


function sum=(...args)=>{
    
    
    let total=0; 
  args.forEach(item)=>total+= item);
retuen total;
};
    
sum(10,20);//30

剩余函数和结构函数配合使用

let ary1=['张三''李四''王五'];
let  [s1,...s2]=ary1;
console.log(s1)//zhangsan
console.log(s2) //lisi wangwu

6.扩展运算符

let ary=["a","b","c"];
console.log(...ary)//a b c
console.log("a","b","c") 

合并数组

let ary1=[1,2,3];
let ary2=[4,5,6];
let ary3=[...ary1,...ary2];
console.log(ary3)//1 2 3 4 5 6

ary1.push(...ary2)
console.log(ary1)//1 2 3 4 5 6

将类数组或者遍历对象转换为真正的数组

var oDivs=document.getElementsBytagName('div');
console.log(oDivs);
var ary =[...oDivs];
ary.push("a");
console.log(ary);

猜你喜欢

转载自blog.csdn.net/qq_45954445/article/details/107916150