javascript和es6知识点总结

**1、let和const**

(1) let声明变量,const声明常量,不允许重复声明

(2) let是块级作用域,不会挂载到window对象中

(3) let需要先声明再调用,不会存在变量提升的问题


作用域:

全局作用域

函数作用域:function() {}

块级作用域:{}

声明方法:var、const、let、function、class、import

**2.解构赋值**

字符串解构:const [a, b, c, d, e] = "hello"

数值解构:const { toString: s } = 123

布尔解构:const { toString: b } = true

对象解构:

形式:const { x, y } = { x: 1, y: 2 }

默认:const { x, y = 2 } = { x: 1 }

改名:const { x, y: z } = { x: 1, y: 2 }

数组解构:

规则:数据结构具有Iterator接口可采用数组形式的解构赋值

形式:const [x, y] = [1, 2]

默认:const [x, y = 2] = [1]

函数参数解构:

数组解构:function Func([x = 0, y = 1]) {}

对象解构:function Func({ x = 0, y = 1 } = {}) {}

**3、字符串的扩展**

(1)判断一个字符串是否在另一个字符串

includes():返回布尔值,表示是否找到了参数字符串。

startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。

endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。

(2)repeat()

repeat返回一个新的字符串,并将原字符串重复n次。

(3)padStart(),padEnd()

(4)模板字符串

**4、数值的扩展**

Number.parseInt(), Number.parseFloat()

Number.isInteger() 判断一个数值是否为整数

Math.trunc() 反正一个值的整数部分

Math.sign()

**5.属性遍历**

for-in:遍历对象自身可继承可枚举属性

Object.keys():返回对象自身可枚举属性的键组成的数组

Object.getOwnPropertyNames():返回对象自身可继承可枚举非枚举属性的键组成的数组

Object.getOwnPropertySymbols():返回对象Symbol属性的键组成的数组

Reflect.ownKeys():返回对象自身可继承可枚举非枚举Symbol属性的键组成的数组

6.数组扩展

扩展运算符(...):转换数组为用逗号分隔的参数序列([...arr],相当于rest/spread参数的逆运算)

Array.from():转换具有Iterator接口的数据结构为真正数组,返回新数组

类数组对象:包含length的对象、Arguments对象、NodeList对象

可遍历对象:String、Set结构、Map结构、Generator函数


Array.of():转换一组值为真正数组,返回新数组


copyWithin():把指定位置的成员复制到其他位置,返回原数组

find():返回第一个符合条件的成员


findIndex():返回第一个符合条件的成员索引值


fill():根据指定值填充整个数组,返回原数组


keys():返回以索引值为遍历器的对象

values():返回以属性值为遍历器的对象

entries():返回以索引值和属性值为遍历器的对象

数组空位:ES6明确将数组空位转为undefined(空位处理规不一,建议避免出现)

你可能感兴趣的:(javascript和es6知识点总结)