美文网首页
ES6 笔记之let,const

ES6 笔记之let,const

作者: cutecat | 来源:发表于2016-11-24 22:30 被阅读0次

const定义的变量,和let声明的变量都不会进行变量提升,预编译阶段扫描到变量声明时,将变量声明放入暂时性死区,待到执行到声明变量赋值才会离开死区,所以使用const,let定义的变量必须在执行声明赋值之后才可以拿到,否则会出现Uncaught ReferenceError: value is not defined错误

console.log(val-value);

var val-value=123;   //123

console.log(const-value);

const const-value=123  //Uncaught ReferenceError: const-value is not defined(…)

console.log(let-value);

let let-value=123  //Uncaught ReferenceError: let-value is not defined(…)

在同一个块级作用域中,不能用let,var,const定义同名变量,会产生语法错误

if(true)

{
    var a=1;

    let a=2;
}    //Uncaught SyntaxError: Identifier 'a' has already been declared

const 定义一个变量,一旦定义,不能通过赋值直接修改

const val=23;

val=34;  //Uncaught TypeError: Assignment to constant variable.(…)

当const定义的是一个数组时,可以通过数组的队列方法来修改数组;当const定义的是一个对象时,可以添加对象的属性和方法,但不能通过字面量来重写对象。因为数组也属于对象,当用字面量方法重新赋值时,是创建了一个新的对象实例,原则上已经改变了变量。

const array=[1,2,3,4]

array=[1,2,3];//Uncaught TypeError: Assignment to constant variable.(…)

array.push(5);

console.log(array); //  [1,2,3,4,5]

array.length=0;

console.log(array) //  []

相关文章

  • ES6之 let 和 const 命令

    ES6 之 let 和 const 命令 1、let 命令 1.1、基本用法 ES6 新增了let命令,用来声明变...

  • 05.Es6入门学习笔记(阮一峰教程)

    Es6学习笔记 一、let和const 1. let,const不存在变量提升,只在声明所在的块级作用域中有效。 ...

  • (JS)

    ES6 let、const和var的区别 let和const声明变量不存在变量提升 let和const不能重复声明...

  • es6,es7,es8语法总结

    ES6 1. var let const let,const具有块级作用域,不具有变量提升 const 用...

  • ES 6 7 8 随笔 QAQ

    ES6 1. var let const let,const具有块级作用域,不具有变量提升 const 用...

  • ES6(let 与 const)

    ES6中引入了let 和 const来声明变量,我们来看下let 和 const 的使用 一、let let定义的...

  • react 入门基础(一)之ES6

    ####ES6 let const var 三者的区别 ### 1. let const 不能重复声明变...

  • es6总结一

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

  • es6解读1: let, const 和 smybol

    let const 作用域 作用域概念 如何使用let和const 使用let 形成块级作用域 es6下强制开启...

  • ES6 笔记之let,const

    const定义的变量,和let声明的变量都不会进行变量提升,预编译阶段扫描到变量声明时,将变量声明放入暂时性死区,...

网友评论

      本文标题:ES6 笔记之let,const

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