用来拆数组和类数组结构,将其拆为参数序列
拆数组
let arr1 = [1,2,3,4] let arr2 = [5,6,7] console.log([...arr1,...arr2])//将arr1,arr2由...拓展运算符拆为参数序列,再合并为一个数组
拆对象
let obj1 = {name:"a"} let obj2 = {gender:"1"} console.log({...obj1,...obj2}) //{name:"a",gender:"1"}
包裹在``反引号之间的内容,可以作为普通字符串使用 也可以用来定义多行字符串,或者在字符串中嵌入变量,使用模板字符串则不需要拼接字符
`模板字符串内容`
${}
直接将默认值写在函数形参数后面即可
function fn(x=7) { console.log(x) } fn()//没有传递实参则采用默认值, 7 fn(9)//传递实参, 9
使用箭头() => {}
定义函数
javascriptvar fn = (parameter1,parameter2) => {function statement}
//ES5中为
// function fn(parameter1,parameter2) {
// function statement
// }
当函数需要直接返回一个值(表达式)时可以直接省略大花括号,当函数形参只有一个时可以省略小括号
// function fn(x) { // return x // } let fn = x => x; console.log(fn(10)) //输出结果 10
若需要返回一个对象时,需要再对象外层加上小括号避免歧义
var fn = (parameter1,parameter2) => ({key:value,key:value})
箭头函数中this指向:谁创建箭头函数就指向谁
function Timer() { this.s1 = 0; this.s2 = 0; // 箭头函数 setInterval(() => this.s1++, 1000); // 普通函数 setInterval(function () { this.s2++; }, 1000); } var timer = new Timer(); /* 创建Timer实例,此时箭头函数创建,普通函数 是window方法,由window调用 */ setTimeout(() => console.log('s1: ', timer.s1), 3100); // 3 setTimeout(() => console.log('s2: ', timer.s2), 3100); // 0
本文作者:RKLS
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!