ES6 let const定义命令

作者: sponing | 来源:发表于2016-12-07 08:56 被阅读0次

保留了var和function。新增加了let、const、class和import。而且,let、const、class声明的全局变量再也不会和全局对象的属性挂钩了。

let定义变量 const定义常量

let定义变量

1.块级作用域
2.let不会发生变量提升
3.暂时性死区
4.不允许重复定义
优势:
一、内存变量可能会覆盖外层变量
二、用来计数的循环变量泄露为全局变量

1.块级作用域
for(let i = 0; i < 10; i++){
   console.log(i)
}
i //会报错undefined
2.let不会发生变量提升
3.暂时性死区
var a = if(true){ 
  console.log(a) //ReferenceError let a = 2
}
4.不允许重复定义

function () {
   let a = 10;
   let a = 1;// 报错
}

const定义常量

1.const声明只读的常量,且不可改变,因此不能只声明不赋值。
2.跟let类似是块级作用域,存在暂时性死区。
3.对于复合类型的变量,定义变量

const a = 123
a = 456 //报错
const b //报错

var aa = 'hello'
  if(true){ 
    console.log(aa) //报错 
  const aa = 123
}
console.log(aa) // 'hello'

ES6的块级作用域

一、es6允许块级作用域任意嵌套

{{{{ 
{
  let insane = 'Hello World'
} 
console.log(insane); // 报错
}}}};

二、取代立即执行匿名函数

// IIFE写法
(function () { 
var tmp = 123}()
);
// 块级作用域写法
{ 
  let tmp = 123
}

三、在块级作用域中定义函数
在es5严格模式下 ‘use static’下 块级定义函数会报错

(function(){ 
  a = 3
})()
var b = 2
console.log(window.a, window.b) //打印3,2,全局变量自动成为全局对象的属性
let c = 123
const d = 456
console.log(window.c, window.d) //undefined*2, es6的属性将与全局对象脱钩

相关文章

  • es6总结一

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

  • ES6之 let 和 const 命令

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

  • ES6中的let和const命令

    ES6中的let和const命令 let命令 ES6 新增了let命令,用来声明变量。它的用法类似于var,但是...

  • 2019-03-03

    es6 第二章 let和const命令 let 基本用法 let和var的区别let:只在定义的代码块中起作用va...

  • ES6 let 和 const 命令

    目录 1、let命令 2、块级作用域 3、const命令 1、let命令 ES6 新增了let命令,用来声明变量。...

  • ES6(let 与 const)

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

  • let 和 const 命令

    let 命令 块级作用域 const 命令 顶层对象的属性 global 对象 let 命令 基本用法 ES6 新...

  • let 和 const 命令

    let 命令 块级作用域 const 命令 顶层对象的属性 global 对象 let 命令 基本用法 ES6 新...

  • ES6笔记

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

  • ES6语法总结(一)变量的声明

    一:let和const命令 1.let命令 (1) ES6新增了let命令,用来声明变量。用法类似于var,但是声...

网友评论

    本文标题:ES6 let const定义命令

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