es6 语法标准

本文详细介绍了JavaScript的ES6版本,包括定义变量、箭头函数、函数默认值、模板字符串、解构赋值等核心特性。通过实例演示了如何使用这些新特性,帮助开发者更好地理解和应用ES6。
摘要由CSDN通过智能技术生成

简介
ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版。

ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念,但是目前浏览器的 JavaScript 是 ES5 版本,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。

你也可以先看 ECMAScript 6 简明教程 来先快速了解。

ECMAScript 的背景
JavaScript 是大家所了解的语言名称,但是这个语言名称是商标( Oracle 公司注册的商标)。因此,JavaScript 的正式名称是 ECMAScript 。1996年11月,JavaScript 的创造者网景公司将 JS 提交给国际化标准组织 ECMA(European computer manufactures association,欧洲计算机制造联合会),希望这种语言能够成为国际标准,随后 ECMA 发布了规定浏览器脚本语言的标准,即 ECMAScript。这也有利于这门语言的开放和中立。

ECMAScript 的历史
ES6 是 ECMAScript 标准十余年来变动最大的一个版本,为其添加了许多新的语法特性。

1997 年 ECMAScript 1.0 诞生。
1998 年 6 月 ECMAScript 2.0 诞生,包含一些小的更改,用于同步独立的 ISO 国际标准。
1999 年 12 月 ECMAScript 3.0诞生,它是一个巨大的成功,在业界得到了广泛的支持,它奠定了 JS 的基本语法,被其后版本完全继承。直到今天,我们一开始学习 JS ,其实就是在学 3.0 版的语法。
2000 年的 ECMAScript 4.0 是当下 ES6 的前身,但由于这个版本太过激烈,对 ES 3 做了彻底升级,所以暂时被"和谐"了。
2009 年 12 月,ECMAScript 5.0 版正式发布。ECMA 专家组预计 ECMAScript 的第五个版本会在 2013 年中期到 2018 年作为主流的开发标准。2011年6月,ES 5.1 版发布,并且成为 ISO 国际标准。
2013 年,ES6 草案冻结,不再添加新的功能,新的功能将被放到 ES7 中;2015年6月, ES6 正式通过,成为国际标准。
ES6 的目标与愿景
成为更好编写的开发语言有以下目标。

适应更复杂的应用;实现代码库之间的共享;不断迭代维护新版本。

ES6

js一直被各个语言诟病,因为js的作用域让开发者困扰,也因为js在以前不算是面向对象的语言。ES6的出现,让js语言上了一个台阶。js在发展过程中,一直在完善自己的漏洞。ES6将弱类型的js提升为中弱类型。所以我们必须要学习ES6。

好的东西,兼容性总是不太好,不过,没关系,后期我们会学习一个工具将es6的语法转为兼容最好的es5的语法。

定义变量

以前定义变量一直使用var关键字,es6中可以使用另外两个关键字let和const。

let是声明变量的关键字,特点:

  1. 不允许重复声明
  2. 不存在预解析
  3. 在大括号中声明的变量只能在大括号中使用,如if、for的大括号中声明的变量

| 不允许重复声明 |

不能预解析

限制作用域

const是声明常量的,特点:

  1. 不允许重复声明
  2. 不允许重新赋值(可以给对象中新增属性)
  3. 声明的时候必须赋值
  4. 不存在预解析
  5. 在大括号中声明的变量只能在大括号中使用,如if、for的大括号中声明的变量
不能改变值

声明的时候必须赋值

| 声明的时候必须赋值 |

思考:什么时候使用let,什么时候使用const?

定义好就不会修改的变量用const,会改变的使用let

箭头函数

es6中的箭头函数是用来简写函数的

let fn = function(){
   
    console.log(111);
}

使用箭头函数简写

let fn = ()=>{
   console.log(111);}

带参数的写法:

let fn = function(a,b){
   
    console.log(a+b);
}

使用箭头函数改写

let fn = (a,b)=>{
   console.log(a+b);}

注意:如果只有一个形参的时候,小括号可以省略:

let fn = function(a){
   
    console.log(a);
}

使用箭头改写

let fn = a = > {
   console.log(a);}

注意:如果代码块中只有一行代码,箭头函数可以省略大括号,并将这行代码作为返回值

let fn = function(a){
   
    return a + 1;
}

箭头函数的写法

let fn = a = > a+1;

例:使用箭头函数定义一个返回m到n范围内的随机数的函数:

let fn = (m,n) => parseInt(Math.random()*(n-m+1))+m;

箭头函数使用注意事项:

  1. 箭头函数中的this比较混轮,所以在函数和方法中使用到this的时候,就不要用箭头函数
  2. 箭头函数中没有arguments

函数默认值

以前的函数不能有默认值,es6的函数中可以定义默认值:

function add(a,b=2){
   
    return a + b;
}
console.log(add(5));

可以用箭头函数改写:

let add = (a,b=2) => a+b;
console.log(add(5));

模板字符串

es6新增了定义字符串的方式,使用反引号

  1. 可以换行书写,保持字符串中的换行和空格
  2. 模板字符串中可以识别变量,使用美元符大括号:${变量}

解构赋值

解析一个数据结构并赋值,可以快速的从对象或数组中取出需要的内容,对象使用大括号,数组使用中括号

解构对象

之前从对象中取到内容的方式

let obj = {
   
    name:"张三",
    age:12,
    sex:"男",
}
let name = obj.name;
let age = obj.age;

解构的方式:

let obj = {
   
    name:"张三",
    age:12,
    sex
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值