一、let、const命令

ES6 一、_父类


①块级作用域

②不存在变量提升

③暂时性死区(只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响,在代码块内,使用let命令声明变量之前,该变量都是不可用的

不允许在相同作用域内,重复声明同一个变量

全局变量不再与顶层对象挂钩

ES6 一、_字符串_02


ES6 一、_字符串_03

const 不能修改变量的本质:

ES6 一、_字符串_04

全局变量不再与顶层对象挂钩

ES6 一、_父类_05


ES6 一、_父类_06

跨模块常量

ES6 一、_父类_07


ES6 一、_字符串_08

必须是严格模式下

ES6 一、_子类_09

二、解构赋值

数组的解构赋值

ES6 一、_子类_10


对应位置

ES6 一、_父类_11


解构不成功 默认值都是undefined

ES6 一、_字符串_12


不完全解构

ES6 一、_子类_13


指定默认值 如果指定了默认值 赋值的时候给了个undefined 那么undefined不会覆盖默认值

ES6 一、_子类_14



ES6 一、_子类_15


对象的解构赋值,可以用来解决对象的引用问题

ES6 一、_子类_16


函数的参数也可以解构赋值

ES6 一、_子类_17


解构赋值的用途:

ES6 一、_子类_18


ES6 一、_字符串_19


ES6 一、_字符串_20


ES6 一、_父类_21


ES6 一、_父类_22


ES6 一、_父类_23


三、 字符串的扩展

①模板字符串

②字符串可以用for of 来遍历

ES6 一、_子类_24

③新增字符串方法

ES6 一、_父类_25


ES6 一、_子类_26


ES6 一、_字符串_27


ES6 一、_字符串_28


ES6 一、_子类_29

replageAll() 方法

ES6 一、_字符串_30


ES6 一、_字符串_31


ES6 一、_父类_32


ES6 一、_子类_33

四、 函数的扩展

①函数参数可以设置默认值

ES6 一、_字符串_34


ES6 一、_字符串_35

②箭头函数

ES6 一、_子类_36


箭头函数不适用于对象中定义方法(且方法中使用this);不适用于绑定事件的回调方法

五、 数组的扩展

①扩展运算符:复制数组、合并数组、将字符串转为数组、

② 数组新增方法

ES6 一、_字符串_37


Array.of (),数字、字符串、数组、对象、null.....

ES6 一、_子类_38


ES6 一、_子类_39


ES6 一、_字符串_40


ES6 一、_子类_41


ES6 一、_父类_42


ES6 一、_子类_43

实例 at()方法,字符串、数组都可以用,支持负数索引

ES6 一、_父类_44

六、对象的扩展

①属性及方法简写

ES6 一、_字符串_45


ES6 一、_子类_46

②将表达式放在中括号里定义属性

ES6 一、_子类_47

③对象的遍历

ES6 一、_子类_48

④super关键字,只能用在对象的简写方法中

ES6 一、_字符串_49

⑤扩展运算符

ES6 一、_子类_50

⑥对象新增的方法

Object.is()

ES6 一、_子类_51

Object.assign() 用于合并对象

ES6 一、_字符串_52

可用于浅拷贝

ES6 一、_字符串_53

为对象添加属性

ES6 一、_子类_54

为对象添加方法

ES6 一、_父类_55

克隆对象

ES6 一、_字符串_56

合并多个对象

ES6 一、_父类_57

为属性指定默认值

ES6 一、_子类_58


ES6 一、_字符串_59


ES6 一、_子类_60

Object.setPrototypeOf()

ES6 一、_子类_61


ES6 一、_字符串_62


Object.keys()、Object.values()、Object.entries()

ES6 一、_子类_63


ES6 一、_子类_64


ES6 一、_父类_65


ES6 一、_字符串_66


Object.fromEntries()

ES6 一、_父类_67


ES6 一、_父类_68

Object.hasOwn()

ES6 一、_父类_69


ES6 一、_字符串_70

七、类

ES6 一、_子类_71


ES6 一、_父类_72


ES6 一、_字符串_73

7.0类的原型

ES6 一、_父类_74


ES6 一、_字符串_75


ES6 一、_子类_76


ES6 一、_子类_77

7.1 实例属性新写法

ES6 一、_子类_78


ES6 一、_父类_79


ES6 一、_字符串_80

set 、get 关键字

ES6 一、_字符串_81


static关键字定义静态方法

ES6 一、_子类_82


ES6 一、_子类_83


静态方法也可以继承

ES6 一、_字符串_84


ES6 一、_父类_85


静态属性

ES6 一、_父类_86



ES6 一、_父类_87


ES6 一、_字符串_88

私有属性

ES6 一、_父类_89


ES6 一、_字符串_90


私有方法

ES6 一、_父类_91


ES6 一、_字符串_92


ES6 一、_子类_93


ES6 一、_子类_94


in 运算符判断私有属性

ES6 一、_父类_95


ES6 一、_字符串_96


ES6 一、_子类_97


ES6 一、_字符串_98

静态块,用来初始化静态属性,只在类生成时运行一次

ES6 一、_字符串_99


7.2 类的继承

extends 关键字,让子类继承父类,子类就能访问父类的方法了

ES6 一、_子类_100


像下面这样,子类调用父类的方法会报错,原因是1,2传给了子类,没有传给父类

ES6 一、_字符串_101


要想把子类的1,2传给父类,需要使用关键字super,super(x, y)就是把x,y传给了父类

ES6 一、_子类_102


在子类中调用父类的方法,super.say()

ES6 一、_子类_103


super在子类的构造函数中,必须先于子类this之前调用


ES6 一、_字符串_104



ES6 一、_子类_105



ES6 一、_字符串_106

子类无法继承父类的私有属性和私有方法

ES6 一、_字符串_107


ES6 一、_父类_108


静态属性和静态方法也会继承(浅拷贝)

ES6 一、_字符串_109


ES6 一、_父类_110


ES6 一、_字符串_111


ES6 一、_字符串_112


7.3 super关键字

ES6 一、_子类_113


ES6 一、_父类_114


ES6 一、_父类_115


ES6 一、_子类_116


ES6 一、_父类_117


ES6 一、_字符串_118


ES6 一、_字符串_119


ES6 一、_子类_120


ES6 一、_父类_121


ES6 一、_父类_122


ES6 一、_字符串_123


ES6 一、_父类_124


ES6 一、_子类_125


类的

ES6 一、_子类_126


ES6 一、_父类_127


ES6 一、_父类_128

7.4 类的注意事项

ES6 一、_父类_129


ES6 一、_字符串_130

类的name属性

ES6 一、_字符串_131



ES6 一、_子类_132



ES6 一、_子类_133


ES6 一、_父类_134