let和const

Posted donutkiki

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了let和const相关的知识,希望对你有一定的参考价值。

1.let部分

代码块内的暂时性死区是因为检测到了let命令吗?(感觉像是let提升在最顶部)

如果是用var声明的就不存在暂时性死区吗?(应该没有)

 

function bar(x = y, y = 2) 
  return [x, y];


bar(); // 报错

(不懂上面的编译过程)

if(1)
    tmp=1

console.log(tmp);//1
if(0)
     tmp=1

console.log(tmp);//Uncaught ReferenceError: tmp is not defined
if(1)
    var tmp=1

console.log(tmp);//1
if(0)
    var tmp=1

console.log(tmp);//undeifined

 

总而言之,不加var的变量虽然可以成为全局变量,但是不会进行变量提升

2.知识点

不存在变量提升,存在暂时性死区TDZ

不能重复声明

形成块级作用域

const命令的本质是变量指向的那个内存地址不得更改

ES6声明变量的六种方法:let const var function import class

 

以上是关于let和const的主要内容,如果未能解决你的问题,请参考以下文章

ES6新特性

ES6新特性之 let const

P3 const 关键词 javascript

Es6 学习笔记

JavaScript 中constvarlet 区别和使用

TypeScript 断言使用