首页 > 其他 > 详细

01-let 和const

时间:2020-02-21 16:13:04      阅读:46      评论:0      收藏:0      [点我收藏+]

let与var比的特点

  • 暂时性死区
  • 不存在变量提升
  • 不允许重复声明
  • 构成了块级作用域
var tmp = new Date();

function f() {
  console.log(tmp);
  if (false) {
    var tmp = 'hello world';
  }
}

f(); // undefined

上述代码输出undefined的原因是函数f内的tmp,发生了变量提升,导致输出undefined
let其实是为ES6新增的块级作用域,用let声明的变量只在用{}围住的范围内起作用

function f1() {
  let n = 5;
  if (true) {
    let n = 10;
  }
  console.log(n); // 5
}

let块级作用域的出现使得匿名立即执行函数不在有必要

// IIFE 写法
(function () {
  var tmp = ...;
  ...
}());

// 块级作用域写法
{
  let tmp = ...;
  ...
}

const

  • const声明一个只读的常量,不可修改,修改会报错。且const变量一旦声明,就必须赋值,否则会报错。

01-let 和const

原文:https://www.cnblogs.com/ailingstar/p/12341731.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!