Es6(2)

56 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第17天,点击查看活动详情

1. 模板字符串

模板字符串(template string)是增强版的字符串,用反引号 ` 标识,特点
●字符串中可以出现换行符
●可以使用 ${xxx} 形式输出变量,近似 EL 表达式
应用场景:当遇到字符串与变量拼接的情况使用模板字符串

let name = 'jack';
console.log(`hello, ${name}`);
let ul = `<ul>
<li>apple</li>
<li>banana</li>
<li>peach</li>
/ul>`

2.简化对象写法

ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁
应用场景:对象简写形式简化了代码,所以以后用简写就对了

let uname = 'rick';
let age = 30;
let sayHi = function () {
console.log('Hi');
}
// 创建对象,因属性、方法 的 k v 同名,可以简化
const obj = {
uname,
age,
sayHi() { console.log('Hi'); }
}

3. 箭头函数

ES6 允许使用箭头=>定义函数
function 写法

let fn = (param1, param2, …, paramN) => {
// 函数体
return expression;
}

注意

●如果形参只有一个,小括号可以省略
●如果函数体只有一条语句,花括号可以省略,函数的返回值为该条语句的执行结果,如果是 return 语句,return 必须省略
●箭头函数 this 是静态的,始终指向声明时所在作用域下 this 的值
●箭头函数不能作为构造函数实例化
●不能使用 arguments

4. rest 参数

ES6 引入 rest 参数,用于获取函数的实参,用来代替 arguments,作用与 arguments 类似,将接收的参数序列转换为一个数组对象(arguments 是伪数组)
语法格式:fn(a, b, ...args),写在参数列表最后面

应用场景:rest 参数非常适合不定个数参数函数的场景

5. spread 扩展运算符

扩展运算符spread也是三个点...它好比 rest 参数的逆运算,将一个数组、伪数组转为用逗号分隔的参数序列,对数组进行解包,扩展运算符也可以将对象解包
可用在调用函数时,传递的实参,将一个数组转换为参数序列(与rest参数的区别,一个用在形参,一个实参)