zoukankan      html  css  js  c++  java
  • JavaScript let 和 const

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

    let 声明的变量只在 let 命令所在的代码块内有效。const 声明一个只读的常量,一旦声明,常量的值就不能改变。

    一、使用 var 关键字声明的变量不具备块级作用域的特性,它在 {} 外依然能被访问到。

    { 
        var x = 2; 
    }
    // 这里可以使用 x 变量

    二、let 声明的变量只在 let 命令所在的代码块 {} 内有效,在 {} 之外不能访问

    { 
        let x = 2;
    }
    // 这里不能使用 x 变量

    三、在块中重新声明变量也会重新声明块外的变量:

    var x = 10;
    // 这里输出 x 为 10
    { 
        var x = 2;
        // 这里输出 x 为 2
    }
    // 这里输出 x 为 2

    四、let 关键字就可以解决这个问题,因为它只在 let 命令所在的代码块 {} 内有效。

    var x = 10;
    // 这里输出 x 为 10
    { 
        let x = 2;
        // 这里输出 x 为 2
    }
    // 这里输出 x 为 10

    五、更多let

    let i = 5;
    for (let i = 0; i < 10; i++) {
        // 一些代码...
    }
    // 这里输出 i 为 5

    六、const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改

    const PI = 3.141592653589793;
    PI = 3.14;      // 报错
    PI = PI + 10;   // 报错

    七、const定义常量与使用let 定义的变量相似,二者都是块级作用域

    var x = 10;
    // 这里输出 x 为 10
    { 
        const x = 2;
        // 这里输出 x 为 2
    }
    // 这里输出 x 为 10

    八、const 的本质: const 定义的变量并非常量,并非不可变,它定义了一个常量引用一个值

    // 创建常量对象
    const car = {type:"Fiat", model:"500", color:"white"};
     
    // 修改属性:
    car.color = "red";
     
    // 添加属性
    car.owner = "Johnson";

    本文参考:

    https://www.runoob.com/js/js-let-const.html

  • 相关阅读:
    Oracle -- Create Tablespace
    EntityFramework-DBFirst-重新生成后写的验证消失(解决办法)
    UILocalNotification本地通知
    属性观察者willSet与didSet
    常用后台frame框架
    Windows常用CMD命令
    常用的格式符与转义字符
    Windows操作系统常用快捷键
    Mac操作系统常用快捷键
    srp render queue 失效
  • 原文地址:https://www.cnblogs.com/nayitian/p/14962864.html
Copyright © 2011-2022 走看看