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:声明 ...
随机推荐
- TKE用户故事 | 作业帮检索服务基于Fluid的计算存储分离实践
作者 吕亚霖,2019年加入作业帮,作业帮基础架构-架构研发团队负责人,在作业帮期间主导了云原生架构演进.推动实施容器化改造.服务治理.GO微服务框架.DevOps的落地实践. 张浩然,2019年加入 ...
- Oracle打怪升级之路一【Oracle基础、Oracle查询】
前言 背景:2021年马上结束了,在年尾由于工作原因接触到一个政府单位比较传统型的项目,数据库用的是Oracle.需要做的事情其实很简单,首先从大约2000多张表中将表结构及数据导入一个共享库中,其次 ...
- HttpRunner_参数化进阶
一.获取返回包数据 在提取参数时,当 HTTP 的请求响应结果为 JSON 格式,则可以采用.运算符的方式,逐级往下获取到参数值:响应结果的整体内容引用方式为 content 或者 body,如上 ...
- spring5无法在控制台打印日志的原因
想要在控制台输出spring的日志,却无法输出,log4j2所需要的jar文件都已经导入,log4j2的配置文件也存在,调整日志级别也不行,一通百度后发现是缺少spring的jcl的jar文件,把sp ...
- Windwos上Mysql突然出现系统错误3,找不到系统路口
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6540869188678844935/ 问题出现: 调试系统时,突然发现数据库连接不上了,打开界面工具也发现连接不上 ...
- LINUX学习-Nginx实现https
一.环境准备 1.安装nginx时,需要将--with-http_ssl_module 模块开启. 2.关闭selinux和防火墙 3.在 /usr/local/nginx/html/ 目录下添加bb ...
- Python网络编程之网络基础
Python网络编程之网络基础 目录 Python网络编程之网络基础 1. 计算机网络发展 1.1. OSI七层模型 1.2. 七层模型传输数据过程 2. TCP/IP协议栈 2.1 TCP/IP和O ...
- 使用jadx反编译 调试“XX值得买”APP获取接口签名key(一)
闲来无事,想抓取一下"XX值得买"上排行榜的即时数据,按照通用方法 安装夜神模拟器 新增android 5.0版模拟器 安装xposed框架 安装JustTrustMe.apk 打 ...
- C\C++ IDE 比较以及调试
C\C++ IDE 比较以及调试 内容概要 这个作业属于哪个课程 2022面向对象程序设计 这个作业要求在哪里 2022面向对象程序设计寒假作业1 这个作业的目标 IDE 选择以及代码调试 作业正文 ...
- 《剑指offer》面试题09. 用两个栈实现队列
问题描述 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有元素,dele ...