var let const及其他关键字

1. const

  • 说明: const用来声明常量

  • 常量特点:
    1. 常量一旦被声明赋值, 就不能再次进行更改
    2. 常量也具有块级作用域
    3. 常量比变量的运行解析速度快

  • 示例:

    const pai = 3.1415;
    par += 1;  // => 报错, 因为常量被声明赋值之后, 不能进行修改
    

2. let

  • 说明: let 用于声明变量

  • 特点:

    1. let 声明的变量, 在预解析时, 没有变量提升, 只能先声明再进行赋值:
    • 例如:

      x = 5;
      let x;
      console.log(x);  // => 报错, let 声明的变量没有变量提升
      
    1. let 具有块级作用域(let 声明的比那里具有块级作用域的限制)
    • {} 花括号内 就是块级作用域

    • 例如 :

      {
         let a = 5; 
         console.log(a);  // => 5  花括号内访问a, 不会报错
      } 
      console.log(a);  // => 在花括号外 访问a 会报错
      
    1. let 不能重复声明同一个变量:
    • 例如:

      let a; 
      let a = 100;  // => 报错, let已经声明了一次变量 a
      

3. var, let, const 三者区别:

  • var 和 let 都能声明变量, 但是 let 更为严谨
    • let 的特殊性:
      1. let 没有变量提升: 这是为了保证程序的逻辑通畅;
      2. 具有块级作用域: 以此避免变量交叉污染;
      3. 不能重复的声明同一个变量: 以此来保证变量的唯一性;
    • const: const则是用来声明常量, 常量一旦被声明赋值, 就不能被修改;

4. in

  • 说明: 用来判断对象 是否为 数组的元素/对象的属性;

  • 用法: (变量 in 对象)

    • 当 in 后面的对象 是数组时, in 前面的变量 指的是数组的索引
    • 当 in 后面的对象 是对象时, in 前面的变量 指的是对象的属性
  • 示例:

    let arr = ['a', 'b', 'c', 'd'];
    let obj = {
        name: '王东',
        age: 18
    }   
    console.log( (4 in arr) );  //  => false   arr长度为4, 不存在索引为4的元素
    console.log( ('age' in obj) );  // => true   obj中存在 属性名为 age 的属性
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容