ecmascript 关于ecmascript:Symbol Symbol类型Symbol新的原始数据类型 (符号)示意举世无双的值对象的key能够应用Symbol具备动态属性和静态方法 不反对 new Symbol()解决不同文件应用公共变量,相互影响, {代码…} {代码…} 能够增加为属性名 {代码…} 案例 {代码…} 静态方法 {代码…} 留神Symbol作为key取不到 {代码…}
ecmascript 关于ecmascript:SetMap数据结构 Set数据结构ES6 提供了新的数据结构 Set。它相似于数组,然而成员的值都是惟一的,没有反复的值。Set自身是一个构造函数,用来生成 Set 数据结构。 {代码…} Set遍历对象 {代码…} {代码…} 利用场景 {代码…} Map数据结构相似于对象,实质上都是键值对汇合原始的对象key无论什么类型都会被转化成字符串Map是严格意…
ecmascript 关于ecmascript:Class类 Class类以前创立构造函数 {代码…} ES6 的类,齐全能够看作构造函数的另一种写法 {代码…} {代码…} constructor 办法一个类必须有constructor()办法,如果没有显式定义,一个空的constructor()办法会被默认增加constructor()办法默认返回实例对象(即this),齐全能够指定返回另外一个对象 {代码…} 实例办法,动态…
ecmascript 关于ecmascript:ProxyReflect Proxy 能够了解成,在指标对象之前架设一层“拦挡”,外界对该对象的拜访,都必须先通过这层拦挡,因而提供了一种机制,能够对外界的拜访进行过滤和改写。Proxy 这个词的原意是代理,用在这里示意由它来“代理”某些操作,能够译为“代理器”
ecmascript 关于ecmascript:对象的扩展 对象的扩大对象字面量的加强Object.is()Object.assign()Object.getOwnPropertyDescriptors()Object.keys(),Object.values(),Object.entries()对象字面量的加强对象内属性简写,对象内办法简写,留神简写的是function不是箭头函数 {代码…} Object.is() {代码…} 与===不同之处只有两个:一是+0不等于-0,二是NaN等于…
ecmascript 关于ecmascript:数组的扩展 数组的扩大开展运算符Array.from()Array.of()find(),findIndex()fill()entries(),keys(),values()includes()flat()开展运算符 {代码…} Array.from()Array.from办法用于将两类对象转为真正的数组:相似数组的对象(array-like object)和可遍历(iterable)的对象(包含 ES6 新增的数据结构 Set 和 Map) {代码…} {代…
ecmascript 关于ecmascript:函数的扩展 函数的扩大函数参数的默认值 {代码…} 函数的length属性指定了默认值后,length属性将失真,rest 参数也不会计入length属性 {代码…} 函数的作用域函数进行申明初始化时,参数会造成一个独自的作用域(context)。等到初始化完结,这个作用域就会隐没。这种语法行为,在不设置参数默认值时,是不会呈现的 {代码…} 上…
ecmascript 关于ecmascript:解构 数组解构依据数组下标提取 {代码…} 如果右侧不是可遍历的构造(Iterator)会报错 {代码…} 数组解构默认值当一个数组成员严格等于undefined,默认值会失效 {代码…} 对象解构数组解构依据下标程序解构,对象解构依据属性名匹配提取,它没有秩序 {代码…} 对象的解构赋值,能够很不便地将现有对象的办法,赋值到某个…
ecmascript 关于ecmascript:let-与块级作用域 块内变量内部无法访问 {代码…} var对循环的影响 {代码…} {代码…} 通过IIFE模式处理事件计数器绑定 {代码…} 应用let 解决 for循环的问题 {代码…} for循环内有两层作用域,咱们对上面的办法进行拆解 {代码…} 不存在变量晋升 {代码…} 做一个小案例每次都是在新词法作用域创立个str=””+每次的i {代码…} 为什…
ecmascript 关于ecmascript:ES6-Reflect反射机制 ReflecthandlergetsethasapplycalldefineProperty(定义属性,可能细化属性形容)deletePropertyisExtensiblepreventExtensionsgetPrototypeOf(读取原型对象)setPrototypeOf(设置原型对象)ownKeysgetOwnPropertyDescriptorconstructSymbol(Symbol.toStringTag): “Reflect”