ES6基础(1)

ECMAScript 6 目前基本成为业界标准,它的普及速度比 ES5 要快很多,主要原因是现代浏览器对 ES6 的支持相当迅速,尤其是 Chrome 和 Firefox 浏览器,已经支持 ES6 中绝大多数的特性。

1.let

let 允许创建块级作用域,ES6 推荐在函数中使用 let 定义变量,而非 var:

let是块级作用域(在一对{} 里面起作用)

{

let a =15;

console.log(a)

}

let不能重复声明;

2.const

    1    声明必须赋值

    2   建议变量名用大写

3 声明后不能再次声明

3.结构

数组的解构

示例:

var arr1 = [2,4,6,7,8];

        var [a,b,c,d,e] = arr1;

        alert(a)

        console.log("结构出来的变量a"+a); //2

        console.log("结构出来的变量b"+b);    //4

        console.log("结构出来的变量c"+c);    //6

        console.log("结构出来的变量d"+d);    //7

        console.log("结构出来的变量e"+e);    //8

嵌套

var arr2 = [1,2,[3,4,5]];

        let [a,b,[c,d,e]] = arr2;

        console.log("结构出来的变量a"+a);   //1

        console.log("结构出来的变量b"+b);    //2

        console.log("结构出来的变量c"+c);    //3

        console.log("结构出来的变量d"+d);    //4

        console.log("结构出来的变量e"+e);    //5

 剩余值运算符... 后面的所有内容都给了c

 var arr4 = [1,2,3,4,5];

        let[a,b,...c] = arr4;

        console.log('a'+a);  //1

        console.log('b'+b);  //2

        console.log('c'+c);  //3,4,5

 解构字符串     

   let [a,b,c,d]="武汉加油";

        console.log("结构出来的变量a"+a); //武

        console.log("结构出来的变量b"+b);  //汉

        console.log("结构出来的变量c"+c);   //加

        console.log("结构出来的变量d"+d);    //油

默认值     

   let [a,b,c=15]=[20,18];

         console.log("结构出来的变量a"+a); //20

        console.log("结构出来的变量b"+b); //18

        console.log("结构出来的变量c"+c);  //15

        c如果后面定义100 那么默认15会被顶替

        7.不用第三个变量 来交换变量值

3.对象解析

解析就是把数组或对象内容解析出单独的变量

对象解析

let {name,age} = {name:"mumu",age:18}
        console.log(name);
        console.log(age);
        let{name:foo}={name:"mumu"};
        console.log('foo:'+foo);
        var obj = {name:"mumu",age:19,let:2,eve:2}
        let{name,age,...rest} = obj;
        console.log(name);  mumu
        console.log(age);   //19
        console.log(rest); 剩余的变成新的对象 rest:{let:2,eve:2}
        

 4.扩展

ES5新增方法

        repeat()重复几次

        includes(s) 布尔值解析 查找字符串中是否有s

        是否以s开头startsWith(s)

        是否是s结尾 endsWith(s)

5.ES6数字

 数字 ES6       

 Number.isInteger 是否是整数

        Number.isNaN()是否是 not a number//NaN的时候是true

        2**3 2的三次方

        Number.isFinite 是否无穷

        var num = 12;

        console.log(Number.isNaN(123));

        console.log(Number.isFinite(NaN));

5.箭头函数

  箭头函数就是函数的简写

        =>前面是函数参数

        =>后面是函数参数

        如果函数只有一个可以省略括号()

        如果函数体有多条语句 用{}

        如果返回是一个对象则返回内容用()包裹

        箭头函数this指向

        seInterval是用来设置定时执行的, 是省略window的前缀

        谁调用函数 谁是this

        setinterval setTimeout this指向window

        期待this指向obj 箭头函数this指向上一层作用域的this

数组扩展 就是把数组扩展为单个参数 (在调用参数时使用)

 function metting(a,b,c,d){
            alert("今天开会的有"+a+b+c+d)
        }
        var arr = ["老曾","小曾","小小曾","mini曾"]
        metting(...arr);

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值