zoukankan      html  css  js  c++  java
  • ES6基础-1

    ES6是为了后边的设计模式的学习

    ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const。

    let 声明的变量只在 let 命令所在的代码块内有效。

    const 声明一个只读的常量,一旦声明,常量的值就不能改变。

    {
      let a = 0;
      a   // 0
    }
    a   // 报错 ReferenceError: a is not defined

    let 是在代码块内有效,var 是在全局范围内有效:

    let 只能声明一次 var 可以声明多次:

    let 不存在变量提升,var 会变量提升:

    暂时死区

        var a = 12;
        function test(){
            console.log(a);
            const c = 11;
            console.log(c);
        }//在一个代码块当中如果存在const变量并且与代码外边同样的变量名则先找代码块内部 如果使用变量再声明变量之前 则会报错
        function test1(){
            console.log(a);
            const a = 11;
        }
        test();
        test1();
        

    const 声明一个只读变量,声明之后不允许改变。意味着,一旦声明必须初始化,否则会报错。

    数组解构模型

    //基本
    let [a,b,c] = [1,2,3];
    //可嵌套
    let [a1,[b1],c1] = [1,[2],4];
    //可忽略
    let [a6,[b6],c6] = [1,[],4];
    //不完全解构
    let [a2=1,b2] = [];
    //剩余运算符
    let [a3,...b3] = [1,2,3,1,1];
    //字符串
    let [a4,b4,c4,s] = "asda";
    //解构默认值  当解构模式有匹配结果,且匹配结果是 undefined 时,会触发默认值作为返回结果。
    let [a5=2,b5=a5] = [1,2,]

     注意点

    其实 const 其实保证的不是变量的值不变,而是保证变量指向的内存地址所保存的数据不允许改动。所以使用 const 声明复杂类型对象时要慎重。

  • 相关阅读:
    Mac zsh: command not found zsh 所有命令在终端失效
    Java根据FreeMarker模板生成Word(doc)文档(带图片)
    2021年Java面试总结——自我篇
    toArray转换踩坑 java.lang.ClassCastException
    并发和并行
    protoBuf3学习
    StringBuffer和StringBuilder区别
    深拷贝和浅拷贝
    从不订购的客户
    使用jenkins遇到的问题汇总
  • 原文地址:https://www.cnblogs.com/webcyh/p/11434521.html
Copyright © 2011-2022 走看看