let与const

一、 let

1.let用法类似于var,都是用来声明标量,但let所声明的变量只在【声明的代码块内】及【声明之后】有效。

{
  console.log(a) // undefined
  console.log(b) // Uncaught ReferenceError: b is not defined(…)
  var a =10
  let b = 10
}
console.log(a) // 10
console.log(b) // Uncaught ReferenceError: b is not defined(…)

2.let更适合在for循环中使用。

var a = [];
for (var i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); // 10
var a = [];
for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); // 6

3.let不存在变量提升;且不允许在同一作用域内重复声明变量,因此不能在函数内重新声明变量。

a = 10
console.log(a) // 10
var a

a = 10
console.log(a) //Uncaught SyntaxError: Identifier 'a' has already been declared
let a

b = 10
console.log(b)//Uncaught SyntaxError: b is not defined
let b

二、 const

const 声明的是一个只读的变量,一旦声明,不可更改,这就意味着一旦声明就必须初始化,不然会报错,const作用域和let作用域一样.

const a //Uncaught SyntaxError: Missing initializer in const declaration
const a = 10
a = 5 // Uncaught TypeError: Assignment to constant variable.
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 好好生活
    蓝天_ab1a阅读 137评论 0 0
  • 一 王总说,钱不是问题,重点是这菜做的味道不好,太甜了。厨师也就这水平,还没我的高。 王总说,来,各位兄弟,祝大家...
    A明知阅读 1,042评论 0 0
  • 2019年的暑假,不平凡的开始。互加的培训犹如沙漠中见到了绿洲,犹如寒冰中得到了炭火。感受了各位名师的成长...
    N3085吉林舒兰陈希珍阅读 90评论 0 1
  • 姓名:张澜堃公司:北京美嘉图科技有限公司www.megatoo.com 【知~学习】《稻盛经营学》《京瓷哲学》 【...
    zhlk阅读 195评论 0 0