ES6(ECMAScript 6.0)六种声明变量的方法
2020-07-19 04:09
225 查看
ES6与javascript的关系
ES6是javascript的一种规范,而javascript则是ES6的一种实现!
变量提升
所有的声明都会提升到作用域的最顶上去
console.log(a)//undefinde var a = 1
=
var a console.log(a)//undefinde a = 1
ES6的六种声明变量的方法(let const function class import var)
let
{ let a = 10; var b = 1; } //let 只在自己声明的代码块中有效 a // ReferenceError: a is not defined. b // 1
let存在“暂时性死区”(temporal dead zone,简称 TDZ)
在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”
if (true) { // TDZ开始 tmp = 'abc'; // ReferenceError console.log(tmp); // ReferenceError let tmp; // TDZ结束 console.log(tmp); // undefined tmp = 123; console.log(tmp); // 123 }
const
const声明一个只读的常量。一旦声明,常量的值就不能改变
const实际上保证的,并不是变量的值不得改动,而是变量指向的那个"内存地址"所保存的数据不得改动
const foo = {}; // 为 foo 添加一个属性,可以成功 foo.prop = 123; foo.prop // 123 // 将 foo 指向另一个对象,就会报错 foo = {}; // TypeError: "foo" is read-only
相关文章推荐
- ES6声明变量的六种方法
- es6——声明变量的6中方法
- MVC中的匿名变量声明方法
- 详解keil采用C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法
- ORACEL存储过程中声明一个可存储记录的像数据表一样的变量的简便方法。
- ES6 let声明之变量提升,块级作用域,计数器变量,函数声明
- <Js>ECMAScript变量的声明
- Java第11次作业:什么是继承?继承的好处?什么是覆写?super()?构造代码块?子父类初始化顺序? 抽象类能用final声明吗?final关键字声明类 方法 变量以及全局常量?抽象类的构造方法?
- Objective-C基础知识之(四):实例变量的可变度、初始化方法的声明、self和super的具体应用
- javascript的字段值,私有变量,静态方法声明
- 常变量声明的方法
- 【转】static和extern的区别;当使用另外一个文件中的变量、类、方法时,什么时候改用extern声明,什么时候该include?
- Java中循环声明变量方法
- Nodejs与ES6系列1:变量声明
- 详解keil采用C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法!
- 交换两个变量的(六种)方法分析
- [译】顺时针分析规则 —— 一种针对复杂变量声明的分析的方法(尤其是指针类型)
- ES6 变量、常量声明总结
- SQL Server中变量的声明和使用方法
- JSP和servlet中变量声明的方法