ES6新语法特性和ES5区别
发布日期:2021-05-07 18:12:32 浏览次数:24 分类:技术文章

本文共 1894 字,大约阅读时间需要 6 分钟。

目录:


编程语言JavaScript是ECMAScript的实现和扩展 。

ECMAScript是由ECMA(一个类似W3C的标准组织)参与进行标准化的语法规范。

 

1.变量声明let

我们通常用let和const来声明,let表示变量、const表示常量

let和const都是块级作用域。

怎么理解这个块级作用域?

在一个函数内部 ,在一个代码块内部。

 

2.常量声明const

const 用于声明常量,看以下代码

 

3.模板字符串

第一个用途,基本的字符串格式化

将表达式嵌入字符串中进行拼接用${}来界定

//es5var name = 'lux'console.log('hello' + name)//es6const name = 'lux'console.log(`hello ${name}`) //hello lux

 

第二个用途,在ES5时我们通过反斜杠()来做多行字符串或者字符串一行行拼接

ES6反引号(``)直接搞定

// es5var msg = "Hi \man!"// es6const template = `
hello world
`

 

4.函数默认参数

ES6为参数提供了默认值。

在定义函数时便初始化了这个参数,以便在参数没有被传递进去时使用。

function action(num = 200) {console.log(num)}action() //200action(300) //300

 

5.箭头函数

ES6很有意思的一部分就是函数的快捷写法。也就是箭头函数。

箭头函数最直观的三个特点

1不需要function关键字来创建函数

2省略return关键字

3继承当前上下文的 this 关键字

看下面代码(ES6)(response,message) => {.......}相当于ES5代码function(response,message){......}

 

6.对象初始化简写

ES5我们对于对象都是以键值对的形式书写,是有可能出现键值对重名的。例如function people(name, age) {return {name: name,age: age};}以上代码可以简写为function people(name, age) {return {name,age};}

7.解构

数组和对象是JS中最常用也是最重要表示形式。

为了简化提取信息,ES6新增了解构,这是将一个数据结构分解为更小的部分的过程

ES5const people = {name: 'lux',age: 20}const name = people.nameconst age = people.ageconsole.log(name + ' ‐‐‐ ' + age)

 

ES6//对象const people = {name: 'lux',age: 20}const { name, age } = peopleconsole.log(`${name} ‐‐‐ ${age}`)

 

//数组const color = ['red', 'blue']const [first, second] = colorconsole.log(first) //'red'console.log(second) //'blue'

 

8.Spread Operator

ES6中另外一个好玩的特性就是Spread Operator 也是三个点儿...接下来就展示一下它的用途。 组装对象或者数组

//数组const color = ['red', 'yellow']const colorful = [...color, 'green', 'pink']console.log(colorful) //[red, yellow, green, pink]·
//对象const alp = { fist: 'a', second: 'b'}const alphabets = { ...alp, third: 'c' }console.log(alphabets) //{ "fist": "a", "second": "b", "third": "c"

 

9.import 和 export

import导入模块、

export导出模块

lib.jslet fn0=function(){console.log('fn0...');} eexport {fn0}demo9.jsimport {fn0} from './lib'fn0();

 

上一篇:MySQL存储引擎-InnoDB_MyISAM
下一篇:数据库理论习题五(123道题-含答案)

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年04月10日 15时30分00秒