JavaScript之ES6常用新特性
参考:https://www.jianshu.com/p/ac1787f6c50f
变量声明:const 与 let
const:常量,必须初始化值 let:变量
格式:const 变量A = "值" let 变量B = "值"
作用域:两者都为块级作用域
模板字符串:
示例:
let a = "值1"
console.log(`值:${a}`) // 输出: 值:值1
箭头函数:
特点:1. 不需要function关键字来创建函数
2. 当函数仅有一个表达式的时候可以省略 { } 与 return关键字
3. 当函数只有一个参数的时候,可以省略 ()
示例:
// 当函数主题只有一个表达式时,可以省略 { }
let fn1 = (a, b) => a + b
// 箭头函数
let fn2 = () => {
// 函数内容
}
// 只有一个参数可以省略 ()
let fn3 = a => {
// 函数内容
}
函数运行参数默认值
注意:默认值参数需要写在参数最后面
示例:
// text2有默认值,需要写在参数的最后
function printText(text1, text2 = "123", text3 = "456") {
console.log(`${text1}-${text2}-${text3}`)
} printText('0000') // 输出:0000-123-456
Spread/Rest操作符( ... )
示例:
// 示例1:当被用于迭代器中时,它是一个 Spread 操作符
function foo(x,y,z) {
console.log(x,y,z);
} let arr = [1,2,3];
foo(...arr); // 1 2 3 // 示例2:当被用于函数传参时,是一个 Rest 操作符:当被用于函数传参时,是一个 Rest 操作符:
function foo1(...args) {
console.log(args);
}
foo1( 1, 2, 3, 4, 5); // [1, 2, 3, 4, 5]
支持二进制和八进制字面量
let oValue = 0o10;
console.log(oValue); // 8 let bValue = 0b10; // 二进制使用 `0b` 或者 `0B`
console.log(bValue); // 2
对象与数组的解构
// 对象
const student = {
name: 'Sam',
age: 22,
sex: '男'
}
// 数组
// const student = ['Sam', 22, '男']; // ES5;
const name = student.name;
const age = student.age;
const sex = student.sex;
console.log(name + ' --- ' + age + ' --- ' + sex); // ES6
const { name, age, sex } = student; // 解构
console.log(name + ' --- ' + age + ' --- ' + sex);
for...of 与 for ... in
for...of 用于遍历一个迭代器,如数组:
let letters = ['a', 'b', 'c']
letters.size = 3for (let letter of letters) {
console.log(letter)
}// 结果: a, b, c
for...in 用来遍历对象中的属性:
let stus = ["Sam", "22", "男"]
for (let stu in stus) {
console.log(stus[stu])
} // 结果: Sam, 22, 男
以下两个不是特别了解:
对象超类 super
类 class 语法糖
一个人应养成信赖自己的习惯,即使在最危急的时候,也要相信自己的勇敢与毅力。——拿破仑
JavaScript之ES6常用新特性的更多相关文章
- ES6常用新特性
https://segmentfault.com/a/1190000011976770?share_user=1030000010776722 该文章为转载文章!仅个人喜好收藏文章! 1.前言 前几天 ...
- JavaScript:ES6的新特性
1.关键字 const:修饰常量.ES6之前只有变量的声明字段var,ES6开始引入常量关键字,被修饰的变量无法被修改. <script type="text/javascript&q ...
- es6/es7/es8常用新特性总结(超实用)
本文标题有误导性,因为我其实想写node8的新特性,说实话一下子从node v1.x跳跃到node 8.x+ 真有点受宠若惊的感觉.一直觉得node 数组. 对象.序列等的处理没有python方便,因 ...
- ES6、7、8常用新特性总结(超实用)
ES6常用新特性 1. let && const let 命令也用于变量声明,但是作用域为局部 { let a = 10; var b = 1; } 在函数外部可以获取到b,获取不到a ...
- ES6 && ECMAScript2015 新特性
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES201 ...
- HTML5的常用新特性你必须知道
HTML5的常用新特性你必须知道 1 新的 声明 HTML 有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面.这就是 的用处. 不是 HTML ...
- 细解JavaScript ES7 ES8 ES9 新特性
题记:本文提供了一个在线PPT版本,方便您浏览 细解JAVASCRIPT ES7 ES8 ES9 新特性 在线PPT ver 本文的大部分内容译自作者Axel Rauschmayer博士的网站,想了解 ...
- Java8常用新特性实践
前言: 时下Oracle开速迭代的Java社区以即将推出Java10,但尴尬的是不少小中企业仍使用JDK7甚至JDK6开发. 从上面列出的JDK8特性中我们可以发现Java8的部分特性很明显的是从Sc ...
- JS - ECMAScript2015(ES6)新特性
友情提示:本文仅mark几个常用的新特性,详细请参见:ES6入门 - ryf: 碎片 var VS let VS const var:声明全局变量, let:声明块级变量,即局部变量 const:声明 ...
随机推荐
- Morphological Image Processing
目录 概 reflection and translation Erosion and Dilation Erosion 示例 skimage.morphology.erosion dilation ...
- ON LARGE BATCH TRAINING FOR DEEP LEARNING: GENERALIZATION GAP AND SHARP MINIMA
目录 概 主要内容 一些解决办法 Keskar N S, Mudigere D, Nocedal J, et al. On Large-Batch Training for Deep Learning ...
- IM2605说明书| InmicroIM2605|IM2605芯片
IM2605描述 IM2605集成了一个同步4开关Buck-Boost变换器,在输入电压小于或大于输出电压时保持输出电压调节.当输入电压足够大于输出电压时,它作为Buck变换器工作,并随着输入电压接近 ...
- 《python-美藏篇》1.可迭代、迭代器与生成器
首先区分可迭代对象(Iterable).迭代器(Iterator) 可迭代对象:包含__iter__方法的对象为可迭代对象,如List.Tuple.Dictionary 迭代器:包含__iter__. ...
- WPF中修改ListBox项的样式病修改选中项的背景颜色
最终效果: 1 <ListBox Name="cmb"> 2 <!--修改颜色--> 3 <ListBox.Resources> 4 <! ...
- 深入 Laravel 内核之装饰模式
装饰模式核心内容: 装饰模式可以在不影响组件对象的情况下,以动态.透明的方式从外部给对象添加功能: 装饰器模式的本质就是动态组合.动态是手段,组合是目的.装饰模式是通过把复杂的功能简单化.分散化,在运 ...
- mysql数据库忘记root密码怎么办?
mysql数据库忘记root密码怎么破解和修改 1.停止数据库的运行 [root@localhost ~]# /etc/init.d/mysqld stop 或者[root@localhost ~]# ...
- JWT原理及实现
wt(JSON Web Tokens),是一种开发的行业标准 RFC 7519 ,用于安全的表示双方之间的声明.目前,jwt广泛应用在系统的用户认证方面,特别是现在前后端分离项目. 1. jwt认证流 ...
- Leetcode算法系列(链表)之两数相加
Leetcode算法系列(链表)之两数相加 难度:中等给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字.如果,我们将 ...
- vue爬坑之路(插件安装)
npm install vue-table-with-tree-grid --save import ZkTable from 'vue-table-with-tree-grid' Vue.use(Z ...