ECMAScript 6.0基础,变量let及字符串,对象,数组的解构和箭头函数,以及相对ECMA5.0中的一些区别

声明变量:

  1. let(此变量不存在预解析)
    在调用变量找不到let声明的变量时会直接出错is not defined
    ,而使用ECMA5.0的方法,使用var来进行声明变量,调用变量找不到var声明的变量时会提示undefined
    let声明的变量不允许重复(在同一个作用域内) 出现重复声明的变量直接报错
    var声明会以后面的为准(javascript代码执行的顺序从上到下导致)
    变量let:
    在ES6.0中,引用了块级作用域的概念
    if(true){var a=1} console.log(a) 不报错
    if(true){let a=1} console.log(a) 报错
    同时var let 同一个变量名,出错
    注意:在块级作用域中,变量只能先声明,再使用
  2. const(常量,固定)
    常量:
    const,声明常量,const声明的常量不允许重新赋值
    const声明的常量必须初始化
    const a; 报错
    const a=1; 此常量无法更改
    变量的解构
    ECMA5.0定义变量的方式:
var a=1,b=3,c=4;
            var arr=[1,2,3];

ECMA6.0中,
数组一般写法:

  let/var      [a,b,c]=[,2,3] ;
  console.log([a,b,c])  //返回 undefined,2,3

带默认值的数组写法:

  let/var      [a=11,b=54545,c=123]=[,2,]  
     //对应的     [a,b,c]---->11,2,123

对象的解构:
需要注意的是,对象的解构赋值和对象内key的顺序没有关系

let     {fun,bar}={
            fun:'hello',
            bar:'sss
 }
   或者:let     {fun,bar}={
            fun:'hello',
            bar:'sss'
 }

对象如果设置了别名,原来的名字会被别名替换

let     {fun:abc,bar}={
           bar:'sss',        
         fun:'hello',        //这里不能写abc
        }
console.log(abc,bar)    这里不能写fun

带默认值和别名的对象解构写法:

  let     {fun:abc='aaa',bar}={
                                    bar:'sss',       
                            }
                            console.log(abc,bar)        //    aaa,sss

Math对象解构:

let   {cos,sin}=Math;
                console.log(typeof   cos) 
                  //function类型,   必须为Math中已经存在的方法才可以进行解构

字符串解构:

           let   [a,b,c]='helo'  console.log(a,b,c)    //h  e  l  

获取字符串的长度:

let  {length}='hello'   console.log(length)  // 5

箭头函数:
ECMA5.0中传统函数的写法:

 function foo(){
                            console.log();
                   }

ECMA6.0中箭头函数的写法:

let foo=()=>console.log();

ES5.0带参数和返回值的箭头:

function foo(num){
                        return num;
                    }

ES6.0带参数和返回值的箭头:

 let foo=num=>num      //第一个num形参,第二个num返回值,()可加可不加
    let foo=(num,abv)=>{
                let c=110;
               console.log(num+abv+c) ;                 
             }                            
         //传递多个参数加(),多个函数体加{},单个函数体也可以加{}


ECMA5.0循环遍历 数组中的数据

var    arr=[123,456,789];
    arr.forEach(function(e,index){ console.log(e,index)})   
    //123 0    456  1   789  2

ES6.0:

let  arr=[123,456,789];
arr.forEach((e,index)=> {
               console.log(e,index)
          })`

而对于普通函数和箭头函数使用上的最大区别,请在我的另一篇博文中慢慢评鉴
箭头函数和普通函数使用上的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值