
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();
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月10日 15时30分00秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
CMake自学记录,看完保证你知道CMake怎么玩!!!
2019-03-05
ORB-SLAM2:LoopClosing线程学习随笔【李哈哈:看看总有收获篇】
2019-03-05
牛客练习赛56 D 小翔和泰拉瑞亚(线段树)
2019-03-05
NC15553 数学考试(线性DP)
2019-03-05
MySQL隐藏文件.mysql_history风险
2019-03-05
js求阶乘
2019-03-05
Js函数
2019-03-05
L1-009 N个数求和 (20 分)
2019-03-05
L2-031 深入虎穴 (25 分)
2019-03-05
Unity之PlayerPrefs
2019-03-05
简单的xml读取存储方法(未优化)
2019-03-05
Nginx---惊群
2019-03-05
2种解法 - 获取一条直线上最多的点数
2019-03-05
项目中常用的审计类型概述
2019-03-05
(九)实现页面底部购物车的样式
2019-03-05
python-day3 for语句完整使用
2019-03-05
(2.1)关系模型之关系结构和约束
2019-03-05