es6语法是不是一种标准


本文小编为大家详细介绍“es6语法是不是一种标准”,内容详细,步骤清晰,细节处理妥当,希望这篇“es6语法是不是一种标准”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。es6语法是一种标准。ES6全称是ECMAScript 6,是正式发布的JavaScript语言的一种标准,该标准的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。ECMAScript和JavaScript的关系是:前者是后者的规格,后者是前者的一种实现。ES6全称是ECMAScript 6,是正式发布的JavaScript语言的一种标准,该标准的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。ES6是继ES5之后发布的JavaScript语言的新一代标准,加入了很多新的特性和语法,该标准于2015年6月17日发布了正式版本,并被正式命名为ES2015。ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript)2011 年,ECMAScript 5.1 版发布后,就开始制定 6.0 版了。因此,ES6 这个词的原意,就是指 JavaScript 语言的下一个版本。 ES6 的第一个版本,在 2015 年 6 月发布,正式名称是《ECMAScript 2015 标准》(简称 ES2015)。 2016 年 6 月,小幅修订的《ECMAScript 2016 标准》(简称 ES2016)如期发布,这个版本可以看作是 ES6.1 版,因为两者的差异非常小,基本上是同一个标准。根据计划,2017 年 6 月发布 ES2017 标准。因此,ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准。我 们说 ES6 的地方,一般是指 ES2015 标准,但有时也是泛指“下一代 JavaScript 语言”。块作用域存在于:函数内部、块中(即:字符 “ { ” 与 “ } ” 之间的区免费云主机域名域)1.let声明通过var声明的变量存在变量提升机制,而let声明的变量不会被提升,可将变量的作用域限制在当前代码块中

//通过var声明的变量
//函数内部
functionchangeState(flag){
if(flag){
varcolor="red"
}else{
console.log(color);
returnnull;
}
}
changeState(false);
//块中
{
vara=1;
}
console.log("a="+a);
//for循环中
for(vari=0;i

//通过let声明的变量
//函数内部
functionchangeState(flag){
if(flag){
letcolor="red"
}else{
console.log(color);
returnnull;
}
}
changeState(false);

//块中
{
leta=1;
}
console.log("a="+a);

//for循环中
for(leti=0;i

在同一作用域下,不能使用let重复声明已经存在的标识符,但如果在不同的作用域下,则是可以的。

//在同一作用域下,不能使用let重复声明已经存在的标识符,但如果在不同的作用域下,则是可以的
vara=0;
varb=0;
{
leta=0;
}
letb=0;

使用let声明变量,可以防止变量的重复声明

		vara=0;
vara=10;//ok
varb=1
letb=100;

2.const声明每个通过const关键字声明的变量必须在声明的同时进行初始化在同一作用域下用const声明已经存在的标识符也会导致语法错误使用const声明对象,对象本身的绑定不能修改,但对象的属性和值是可以修改的

	constperson={
name:"zhangSan"
};
person.name="lisi";	//ok
person.age=19;	//ok

person={
name:"wangwu"
};

在全局作用域中使用var声明的变量或对象,将作为浏览器环境中的window对象的属性(使用var很可能会无意中覆盖一个已经存在的全局属性)

		vargreeting="welcome";
console.log(window.greeting);
console.log(window.Screen);
varScreen="liquidcrystal";
console.log(window.Screen);

使用let或const声明变量和常量,避免覆盖window对象的属性

		letgreeting="welcome";
console.log(window.greeting);
console.log(window.Screen);
constScreen="liquidcrystal";
console.log(window.Screen==Screen);

总结通过var声明的变量存在变量提升机制,而let声明的变量不会被提升,可将变量的作用域限制在当前代码块中在同一作用域下,不能使用let重复声明已经存在的标识符,但如果在不同的作用域下,则是可以的使用let声明变量,可以防止变量的重复声明每个通过const关键字声明的变量必须在声明的同时进行初始化在同一作用域下用const声明已经存在的标识符也会导致语法错误使用const声明对象,对象本身的绑定不能修改,但对象的属性和值是可以修改的在全局作用域中使用var声明的变量或对象,将作为浏览器环境中的window对象的属性(使用var很可能会无意中覆盖一个已经存在的全局属性)使用let或const声明变量和常量,避免覆盖window对象的属性二、解构赋值解构赋值是对赋值运算符的扩展。他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。

//1、数组解构
//传统
leta=1,b=2,c=3
console.log(a,b,c)
//ES6
let[x,y,z]=[1,2,3]
console.log(x,y,z)
/*********************************************************************************************************/
/*********************************************************************************************************/
//2、对象解构
letuser={name:'Johon',age:18}
//传统
letname1=user.name
letage1=user.age
console.log(name1,age1)
//ES6
let{name,age}=user//注意:解构的变量必须和user中的属性同名
console.log(name,age)

三、模板字符串模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式。

//字符串插入变量和表达式。变量名写在${}中,${}中可以放入JavaScript表达式。
letname='Kuangshen'
letage=27
letinfo=`MyNameis${name},Iam${age+1}yearsoldnextyear.`
console.log(info)
//MyNameisKuangshen,Iam28yearsoldnextyear.


四、声明对象简写

constage=12
constname='小王'
//传统
constperson1={age:age,name:name}
console.log(person1)
//ES6
constperson2={age,name}
console.log(person2)//{age:12,name:'小王'}

五、定义方法简写

//传统
constperson1={
sayHi:function(){
console.log('Hi')
}
}
person1.sayHi();//'Hi'
//ES6
constperson2={
sayHi(){
console.log('Hi')
}
}
person2.sayHi()//'Hi'

六、对象拓展运算符符号 (…)

letperson={nameL:"oAk",age:23}
letsomeone1=persion//引用赋值
letsomeone2={...person}//对象拷贝
someone1.name='oAk_OLD'
someone2.name='oAk_NEW'
console.log(persion)//{name:'oAk_OLD',age:23}
console.log(someone1)//{name:'oAk_OLD',age:23}
console.log(someone2)//{name:'oAk_NEW',age:23}

读到这里,这篇“es6语法是不是一种标准”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: vue下如何配置请求本地json数据

这篇文章主要介绍“vue下如何配置请求本地json数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快免费云主机域名捷,实用性强,希望这篇“vue下如何配置请求本地json数据”文章能帮助大家解决问题。在build文件夹下找到webpack.d…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/16 15:56
下一篇 02/16 15:57

相关推荐