# 赋值

  • 2.1 所有的赋值都用const,避免使用var. eslint: prefer-const (opens new window), no-const-assign (opens new window)

    Why? 因为这个确保你不会改变你的初始值,重复引用会导致bug和代码难以理解

    // bad
    var a = 1;
    var b = 2;
    
    // good
    const a = 1;
    const b = 2;
    
  • 2.2 如果你一定要对参数重新赋值,那就用let,而不是var. eslint: no-var (opens new window)

    Why? 因为let是块级作用域,而var是函数级作用域

    // bad
    var count = 1;
    if (true) {
      count += 1;
    }
    
    // good, use the let.
    let count = 1;
    if (true) {
      count += 1;
    }
    
  • 2.3 注意: letconst都是块级作用域

      // const 和 let 都只存在于它定义的那个块级作用域
      {
        let a = 1;
        const b = 1;
      }
      console.log(a); // ReferenceError
      console.log(b); // ReferenceError
    

回到顶部