Es6初级入门(一)

栏目: JavaScript · 发布时间: 6年前

内容简介:es6 是js的新一套表标准,已经于2015年6月正式发布。它的目标是使js可以编写复杂的大型应用程序,成为企业级开发语言。 由此可见ECMAScript 是为了JavaScript制定的一套规格标准。es6之前没有块级作用域只有全局作用域和函数作用域。这就导致了好多地方如果不注意的话变量会被新声明的 变量覆盖掉从而报错。

es6 是js的新一套表标准,已经于2015年6月正式发布。它的目标是使js可以编写复杂的大型应用程序,成为企业级开发语言。 由此可见ECMAScript 是为了JavaScript制定的一套规格标准。

新增的let命令与const命令

let命令

  • let命令类似于var命令,两者的作用都是声明变量。区别在于var声明的变量都是作用在全局的变量(无论在哪生命都会默认提升),
  • let声明的变量只作用于let所在的代码块中。(个人理解一个全局的变量,一个是当前作用域的变量)。
  • let声明的变量制作用在当前的作用域不会影响它包含的作用域声明的相同变量。

例子

for(let i=0;i<3;i++){
	let i = 'aaa'
	console.log(i)
} // aaa aaa aaa 输出三次 
复制代码
  • let命令不存在变量提升,在什么作用域声明只有在声明这个变量之后才能使用这个变量。否则会报错

例子

console.log(a) //Uncaught ReferenceError: a is not defined
let a = 1 
复制代码
  • 只要在块级作用域中使用了let 命令声明变量,变量就会绑定当前的块级作用域不会受到外部声明的影响

例子

var test = 123
demoFunction = e=>{
	test = 456
	let test;
}
demoFunction() // Uncaught ReferenceError: test is not defined 
//同样的会报错报这个变量没有被找到因为在变量赋值后声明的(会形成暂时性死区)
复制代码
  • 在同一个作用域中不要重复的声明同一个变量会报错的

const命令

  • const 命令用来声明一个只读的常量,常量的值是不能改变的。一旦改变常量的值就会报错 const声明的常量不能改变其值,这就意味着,const常量一旦声明之后就必须立即初始化。

例子

const aa = 123
aa = 456 //Uncaught TypeError: Assignment to constant variable.
const b //Uncaught SyntaxError: Missing initializer in const declaration
复制代码
  • const命令与let命令相同都只是在声明所在的块级作用域中有效(在作用域外使用变量会报错与let的相同)
  • const命令本质上是变量只想的那个内存地址不能被改动。对于符合类型数据(主要是对象和数组)而言, 变量指向的内存地址保存只是一个指针,const只能保证这个指针是固定的,(指针内的数据是可以操作改变的) 因此声明一个常量变量时要考虑清楚。

块级作用域

es6之前没有块级作用域只有全局作用域和函数作用域。这就导致了好多地方如果不注意的话变量会被新声明的 变量覆盖掉从而报错。

  • es6中允许了在块级作用域中声明函数
  • 函数声明类似于var,即声明函数后会将函数提升到全局作用域或函数作用域的头部(这些只在支持es6的浏览器中才会生效)
  • es6中声明函数尽量写成函数表达式的形式

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++数值算法(第二版)

C++数值算法(第二版)

William T.Vetterling、Brian P.Flannery、Saul A.Teukolsky / 胡健伟、赵志勇、薛运华 / 电子工业出版社 / 2005年01月 / 68.00

本书选材内容丰富,除了通常数值方法课程的内容外,还包含当代科学计算大量用到的专题,如求特殊函数值、随机数、排序、最优化、快速傅里叶变换、谱分析、小波变换、统计描述和数据建模、常微分方程和偏微分方程数值解、若干编码算法和任意精度的计算等。 本书科学性和实用性统一。每个专题中,不仅对每种算法给出了数学分析和比较,而且根据作者的经验对算法做出了评论和建议,并在此基础上给出了用C++语言编写的实用程......一起来看看 《C++数值算法(第二版)》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具