symbol是一个值类型 初始化不可以用new 因为new是构造函数初始化的是一个对象是引用类型的数据 但是symbol是一个值类型
var s = symbol() 注symbol的参数只有语义的作用
当symbol作为属性名时 不可遍历
proxy 它是一个构造函数, 可以对目标对象的读取、函数调用等操作进行拦截 在进行代理操作时可以添加一些需要的额外操作 同时也是一个代理函数,就好像明星与经纪人的关系
var proxy = new proxy(start, handlerObj){}
start:代理对象
handlerObj : 处理函数 是一个对象 声明了代理 target 的指定行为
这个处理函数有2个方法
get :function(targer, propname, self){}
targer 代理对象
propname 属性名
self 自己本身
set :function(targer,propname,propvalue,self){}
targer 代理对象
propname 属性名
propvalue 属性值
self 本身
Number的方法
Number.isNAN 判断是否不是一个数字
Number.isFinite 判断是不是一个有限数字
Number.isInteger 判断是不是一个整数
window.isNAN , window.isFinite, window.isInteger 在window身上的这些方法还在判断的时候会进行类型转换
解构 ---- 将数据结构中的数据拆分
1 解构对象 var {obj的属性名列表} = obj;注{}中的变量名称一定要是obj中的属性名称
例 var{a,b,c} = obj
var a = obj.a;
2 解构数组 var [成员值] = arr 注 []中的变量名称一定要是arr中的成员值
例 var [a,b,c] = arr;
var a = arr[0]
var b = arr[1]
var c = arr[2]
...语法------表示剩余的内容 也表示省略
用法 在函数中使用
在解构数组中使用
在传递参数时使用
箭头函数------在es6中新增 var fun =()=> {}
特点 不可以当成构造函数调用
没有arguments
箭头函数中的this 不会随着调用者的变化而变化而是根据定义箭头函数时的作用域中的this
当用户没有传递参数时 会使用默认的参数
优势 当形参只有一个时可以省略()
当函数体只有一条语句并且是返回值的时候 可以省略{}
数组迭代器 迭代器---在不暴露内部数据的情况下,顺序遍历内部数据
数组可以用for......of语法迭代
例 var arr = [a,b,c,d,e,f,g]
for(var i of arr){console.log(i)} 用来遍历数组
1 数组的原型上有一个keys方法 就是迭代器方法 它遍历的是所有的索引值 得到的是一个iterator对象 value[keys, done]
var arr = [a,b,c,d,e,f]
var iterator = arr.keys() iterator有一个方法next
iterator.next() 该方法每执行一次就迭代一次 就返回一个内容
2 数组的原型上有一个values方法,就是迭代器方法 它遍历的是成员值 得到的是一个iterator对象 使用方法与keys一致 value[value,done]
3 数组的原型上有一个entries方法,使用方法与keys values方法相同 但是他的next方法得到的对象value不同 value[索引值,成员值]
数据结构 --------对象 数组
新的是数据解构
1 数组 Set 去除数组中重复的
var set = new Set([]) 参数是一个数组
set实例中有许多方法 add: 新增成员,如果已有,则添加失败。
clear: 清空成员。
delete: 删除成员。
entries: 获取迭代器对象的方法。
forEach: ES5中的迭代器方法。
has: 判定内部是否拥有该成员。
keys: 获取迭代器对象的方法。
size: 成员数量。
values: 获取迭代器对象的方法。
weakset
是set的弱化版本
特点:不会被垃圾回收机制回收
内部只能是引用数据类型
2 对象 Map
var map = new Map({}) 参数是一个对象
map实例中有许多方法 set: 设置新的kv对
clear: 清空所有
delete: 根据key删除一个kv对
forEach: ES5的迭代器方法
get: 根据key获取value
keys: 迭代器方法 获取的是key
values: 迭代器方法 获取的是value
entries: 迭代器方法 获取的是[key, value]
weapMap 是map的弱版本
特点 不会被垃圾回收机制回收
成员的索引只能是引用类型