分享更有价值
被信任是一种快乐

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语法是不是一种标准”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注云技术行业资讯频道。

相关推荐: javascript怎么设置http请求头

本篇内容主要讲解“javascript怎么设置http请求头”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript怎么设置http请求头”吧! 设置Ajax请求头在JavaScript中,我们通常使用A…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册