美文网首页
let 和 const 命令

let 和 const 命令

作者: 真香警告_021e | 来源:发表于2019-01-08 14:41 被阅读0次

1.lent命令

1、let用法类似var,用于声明变量。但是所声明的变量只在let命令所在的代码块有效。

2、不存在变量提升,所以变量一定要在声明后使用,否则报错

3、暂时性死区。只要块级作用域内存在let命令,它所声明的变量就“绑定”在这个区域,不再受外部的影响。比如 :

 var a = 1;

  if(true){

  a = 2; //报错

  ​let a;

}​

​上面的代码中存在全局变量a,但是块级作用域中let又声明了一个局部变量a,导致后者绑定这个块级作用域,所以在let声明变量前,对a赋值会报错

4、不允许重复声明。let不允许在相同的作用域内声明同一变量。

function​( ){

  let a = 1;

  var a =2;

}   //报错​

const命令​

1、const用来声明常量。一旦声明其值不能改变。这就意味着const一旦声明常量,就必须初始化,不能留到以后赋值。

2、与let命令相同,只在声明所在的块级作用域内有效。

3、const命令声明的变量也不提升,同样存在暂时性死区,只能在声明后使用。同样不可重复声明变量。

4、对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址。const命令只是指向的地址不变,并不保证改地址的数据不变,所以将一个地址声明为变量需要非常小心。

 const foo = {};

  foo.prop = 123;

  foo= { }; ​// 报错

上面的代码,常量foo存储的是一个地址,指向一个对象。不可变的只是这个地址,即不能把foo指向另一个地址,但对象本身是可变的,所以依然可以为其添加属性。如果想使对象不可变,可以将对象冻结,使用object.freeze方法。

5、跨模块常量的写法。

//constants.js模块

export const A = 1;

export const B = 2;

export const C = 3;

//text1.js模块

import​ * as constants from './constants';

console.log(constants.A ); // 1​

console.log(constants.B ); // 2

//text2.js模块

import​ {A, B} from './constants';

console.log(constants.A ); // 1​

console.log(constants.B ); // 2
ES5只有两种声明变量的方式:var命令和function命令。ES6为其添加了let命令和const命令。后面还会​提到另外两种声明方法:import命令和class命令。所以ES6一共有六种声明变量的方法。

相关文章

  • let和const

    新的赋值语句let和const let和const命令

  • ES6的let 和 const 命令

    let 和 const 命令 let 命令 块级作用域 const 命令 顶层对象的属性 gl...

  • ES6需要记忆理解的地方

    let和const命令 1、let和const均无变量提升。2、let变量指向的地址可变,const指向的地址不可...

  • 重读 ES6(一)

    一、let 和 const 命令 let 命令 let 与 var 的区别:let 声明的变量只在 let 命令所...

  • js 中var contst let 之间的区别

    ECMAScript 6 新增 const 和 let 命令,用来声明变量。 那么const,let和var 在声...

  • es6常用语法(一)

    let 和 const 命令 let 命令 只在let命令所在的代码有效 let命令,用来声明变量。它的用法类似于...

  • es6总结一

    es6基础 let和const命令 let和const用于声明变量let跟var的区别 1、let定义过的变量不能...

  • ES6笔记

    let 和 const ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一...

  • ECMAScript 6 入门

    1.let 和 const 命令 let 命令 基本用法 ES 6 新增了 let 命令,用来声明变量,它的用法类...

  • ES6基础入门

    变量 let 命令 const 命令 函数

网友评论

      本文标题:let 和 const 命令

      本文链接:https://www.haomeiwen.com/subject/unwhlqtx.html