# ES6基础
ES6基础
let和const
在以前的js中有一个问题,就是只存在函数作用域而不存在局部作用域。
let,const的出现改变了这个问题。const就是定义常量。
this指向
说默认this指向调用它的对象倒不如说函数this的指向是又他的调用方法决定的。 例如:
use strict; const person = { name: , walk() { console.log(this); } } const walk = person.walk; // 绑定this walk();
这里将会将会返回undefined(在严格模式下),如果不使用严格模式,那么这个this将指向window对象,在node中也就是global对象。而在严格模式下不允许this指向window对象。
对于匿名函数,他不会改变this的指向。
数组和对象的解构
使用...来对数组和对象进行析构操作。
const arr = [1, 2, 3] const ob = {name: ob} const [a, b, c] = [...arr] // 数组析构 const {name} = {...ob} // 对象析构
如果想要对象中的某个属性进行重命名而不像使用原来的名字的化,可以这样做{name: newName = {...ob}。对象析构根据键复制,如果你不想要对应的某个属性的话,你可以忽略这个键名。
结构操作在很多时候都很有用,比如你想要连接几个数组的时候一般使用concat的方法,但是concat方法不想像使用析构的时候可以随意插入新值。
还有像要进行深拷贝的时候也不需要写自己的深拷贝方法了。
扩展运算符
例如像是这样子的函数函数
function test(...args) { // } function test1(a1, ...args) { // }
对于test函数,传入的所有参数(不限个数)都将存储在args数组中。而对于test1函数,除传入的第1个参数以外都将会被装入args数组中。
函数
- Array.filter 该函数接收一个回调函数,数组的每一项都将会被传入这个函数。当回调函数返回值为true时,此时被传入回调函数的一项值被装入一个新的数组。 在数组的所有条目遍历完成以后,将这个新数组返回。
- Array.map 对数组的每一项应用map中传入的回调函数,之后将经过处理的项装入一个新的数组并返回。
上一篇:
多线程四大经典案例