La palabra clave let / const de es6

1. dejar

  1. Las nuevas palabras clave utilizadas para declarar variables en es6. Las variables declaradas por let solo son válidas en el nivel de bloque en el que se ubican, y están dirigidas al nuevo alcance a nivel de bloque de es6

    if (true) {
          
          
    	let a = 1;
    }
    console.log(a);// a is not defined;
    
  2. Las variables declaradas usando let solo se pueden declarar una vez

  3. Nota especial: hay ámbitos secundarios en un ámbito de nivel de bloque, y el ámbito secundario puede acceder al ámbito principal, pero el ámbito principal no puede acceder al ámbito secundario

    if (true) {
          
          
    	let a = 1;
        if (true) {
          
          
            let b = 1;
            console.log(a); // 1
        }
        console.log(b); // b is not defined;
    }
    
  4. Nota:

    1. Las variables declaradas con var no tienen características de alcance a nivel de bloque, por lo que el uso de las variables let puede evitar que las variables de bucle se conviertan en variables globales
    for (var i = 0; i < 3; i++) {
          
          
            
        }
        console.log(i); // 3 // 外面可以访问
    
    for (let i = 0; i < 3; i++) {
          
          
    
        }
        console.log(i); // i is not defined 外面不可以访问
    
    1. Las variables declaradas con la palabra clave let no tienen promoción variable

    2. Las variables declaradas con la palabra clave let tienen características de zona muerta temporal, es decir, la variable declarada por let está vinculada al alcance de nivel de bloque, incluso si tiene el mismo nombre que una variable externa, no hay una relación mutua, por lo que lo siguiente el código informará un error.

      var a = 1;
      if (true) {
              
              
          console.log(a);// a is not defined
          let a;
      }
      

2. const

  1. Se agrega una nueva palabra clave para declarar constantes en es6, lo que significa que la dirección de memoria almacenada en la variable no se puede modificar

  2. Tiene todas las ventajas de dejar

  3. Características:

    1. Alcance a nivel de bloque
    2. Sin promoción variable
    3. Necesita asignar un valor inicial
    4. El valor no se puede modificar
  4. Nota:

    La constante declarada por const solo se refiere al valor inmutable al que apunta, pero cuando la constante declarada por const apunta a un objeto / matriz, aunque el punto de la constante const no se puede modificar, el valor del objeto apunta a por él se puede realizar modificar. Por lo tanto, const no protege realmente los datos para que no se modifiquen. Si desea que no se modifiquen los datos, puede utilizar los siguientes métodos:

    • Object.freeze()Evitar cambios de datos

    • Con el método anterior, se bloqueará cualquier intento de cambiar el objeto y no se informará ningún error.

      let obj = {
              
              
          uname: 'zt',
          age: 19
      }
      Object.freeze(obj);// 冻结对象obj
      obj.uname = 'zztt';// 试图修改对象obj但是被忽略,实则并没有修改对象obj的值
      

Supongo que te gusta

Origin blog.csdn.net/chen__cheng/article/details/114288492
Recomendado
Clasificación