美文网首页
es 常用基础小节--(二)

es 常用基础小节--(二)

作者: eveah | 来源:发表于2019-03-12 14:07 被阅读0次

    上次突然来活儿,现在接着继续:

    3.iterator
    iterator迭代器是另外4个ES6常用特性的实现基础(解构赋值,剩余/扩展运算符,生成器,for of循环. 默认有iterator 的数据:
        1. Array 2. set/map 3.string 4.typedArray(类数组) 5.arguments 对象 6 nodelist 对象
       备注: 默认的对象 是没有iterator 属性的, 所以for of , ... 都不能用于对象上面.

    4 .for of 和 for in
     for of 只能遍历 带有iterator(迭代器)的数据结构, 就是上面列举的那6种

    array 在proto上面的iterator属性

    对象是没有的,无法使用for of 遍历 但是我们可以给对象添加iterator属性 和length 属性

    给obj 添加iterator 给obj 添加iterator

    如果obj 的key值非数字 用for of 遍历出来的是undefine.

    for in 在mdn 的定义是:以任意顺序遍历一个对象的可枚举属性。对于每个不同的属性,语句都会被执行。
    所以for in 是不推荐使用在数组上的,因为是可枚举属性,所以可能将原型上的属性也遍历出来.在遍历的时用hasOwnProperty() 判断是否是自身属性.

    相关文章

      网友评论

          本文标题:es 常用基础小节--(二)

          本文链接:https://www.haomeiwen.com/subject/dwacpqtx.html