ES6学习笔记

1.var弊端

1.对于一个变量,var是存在预解析(变量提升),变量可以先去使用,再去声明

2. var关键词可以重复声明同一个变量

3.var 影响全局变量,造成全局变量污染

4.var 没有块级作用域 {}(ES6新增加的概念)

2.let变量

1.let 没有变量提升,必须先声明,在使用

2.let 不能重复声明同一个变量

3.let 不会造成全局变量污染

4. let 有块级作用域

3.const常量

1. const 必须赋值

2. 赋值之后,值不能更改

3. const 块级作用域

4. const 声明常量尽量都用大写字母

4.对象的解构赋值

       ES6 允许按照一定模式,从数组和对象,字符串中提取值,对变量进行赋值,这被称为解构。

      目的:简化代码。

1.完全解构:

        语法格式 var|let|const { 解构对象的属性 } = 被解构的对象

var obj = {       
    id:10,
    name:"狗蛋",
    age:20,
    sex:"男"
}
var { id,name,age,sex } = obj;
console.log(id,name,age,sex);//10 "狗蛋" 20 "男"

2.部分解构 只获取被解构对象的部分属性

var obj = {
    id:10,
    name:"狗蛋",
    age:20,
    sex:"男"
}
var { name,age } = obj;
console.log(name,age);// "狗蛋" 20 

3.解构之后重命名 使用 : 重命名

var obj = {
    id:10,
    name:"狗蛋",
    age:20,
    sex:"男"
}
var  {  sex:a }  =obj;
console.log(a);

4.解构现成对象的方法,赋给一个变量

var { max } = Math;
console.log( max(12,3) );

5.对象结构赋值的默认值

        使用=

var  obj = {
    id:1,
    name:"狗蛋",
}
// 进行解构
var  {id,name ,sex="男"} = obj;
console.log(id,name,sex);

5.数组的结构赋值/字符串解构赋值

        1.完全解构

                语法格式  var|let|const [自己设定的变量] = 被解构的数组

var arr = ["狗蛋","翠花","旺财"]
var [a,b,c] = arr;
console.log(a,b,c);

        2.部分解构

var arr = ["狗蛋","翠花","旺财"]
var  [a] = arr;
console.log(a);  //狗蛋
var  [,,a] = arr;
console.log(a);  // 旺财

        3.复合解构

var arr = ["狗蛋","翠花","旺财",["1","2","3"]]
var [a,b,c,[e,f,g]] = arr;
console.log(a,b,c,e,f,g);

6.函数参数的解构

        函数的参数可以使用数组解构,或者对象解构

1.数组解构

function  sum([a,b,c,d]){
    return a+b+c+d; 
}
var arr = [1,2,3,4];
console.log(sum(arr)); //获取当前数组元素的累加和

  2.对象解构

function  fn({x,y}){
    return  x+y;
}
var obj = {
    x:1,
    y:2
}
console.log( fn(obj) );  //获取  x+y的值

3.参数设置默认值

 function  sum(a=1,b=2){
    return a+b;
}
console.log(sum(3,4)); //  7
console.log(sum());  // 3

7.rest的基本使用

        rest获取所有的实参

function  sum(...rest){
    // console.log(rest); // 真数组
    var sum  =0;
    rest.forEach(item=>{
        sum += item
    })
    return  sum;
}
console.log( sum(1,2,3,4,5) );

8.拓展运算符

        ...拓展运算符

作用:将对象 数组 字符串铺开

1.对象铺开

var obj = {
    id:1,
    name:"狗蛋",
    age:30
}
console.log( ...obj ); // id:1  name:"狗蛋"  age:30

2.数组铺开

var  arr = ["狗蛋","催化","旺财"]
console.log(...arr); // "狗蛋","催化","旺财"

3.字符串铺开

var  str = "hello";
console.log( ...str );  //h e l l o
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值