iterator 接口 只要部署了 iterator 接口 symbol(symbol.iterator), 则可以进行 for...of  遍历…
Symbol 数据类型 let s = Symbol(); typeof s; // "symbol" 是 ES6 继 Number,String,Boolean,Undefined,Null 之后引入的新数据类型 对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型. Symbol 函数的参数只是表示对当前 Symbol 值的描述 let s1 = Symbol('foo'); let s2 = Symbol('bar'); s1 // Sym…
唯一容器 Set ES6 提供了新的数据结构 Set Set 结构没有键名,只有键值(或者说 键名 和 键值 是同一个值) 它类似于数组,但是成员的值都是唯一的,没有重复的值 Set 内部判断两个值是否不同,使用的算法叫做“Same-value-zero equality”, NaN 等于自身 它类似于精确相等运算符(===),而 精确相等运算符 认为NaN不等于自身 Set 结构的实例默认可遍历,它的默认遍历器生成函数就是它的 values 方法 Set.prototype[Symbol.it…
Iterator实现原理 创建一个指针对象,指向当前数据结构的起始位置.也就是说,遍历器对象本质上,就是一个指针对象. 第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员. 第二次调用指针对象的next方法,指针就指向数据结构的第二个成员. 不断调用指针对象的next方法,直到它指向数据结构的结束位置. 每一次调用next方法,都会返回数据结构的当前成员的信息.具体来说,就是返回一个包含value和done两个属性的对象.其中,value属性是当前成员的值,done属性是一个布…
Symbol.iterator 和 for of 是es6的新特性 可以为对象设置 自己的迭代器 首先介绍我们的for of var arr = [1,2,3,8,33] for (var i of arr){ console.log(i) } 1 2 3 8 33 1 2 3 4 5 6 7 8 9 就是这么简单 这里呢其实访问了 arr的迭代器调用next的方法的返回值中的value属性 (不知道我在说什么?继续往下看) 然后就是 Symbol.iterator var arr = [4,5…
1.可以部署在对象上的一个遍历器 2. 遍历器是一个函数,需要返回一个含有一个next 方法的对象 const likeArray = {0:'a', 1: 'b', 2: 'c',3: 'd'. length: 4}; likeArray[Symbol.iterator] = function(){ // 提供一个遍历器接口 let i = 0; return { next: () => { return {value: this[i], done: i++ === this.length}…
经过了上篇IRepository和IRepository<T>的讨论[文章地址为:http://www.cnblogs.com/yomho/p/3296759.html] 我选择了IRepository作为我重构框架的仓储接口 一.接口定义   新的IRepository接口设计如下: namespace Yom.NFramework2_0 { public interface IRepository<TCompositeKey> where TCompositeKey : IEq…
新的IRepository接口+搜索和排序解耦(+基于Castle实现) 经过了上篇IRepository和IRepository<T>的讨论[文章地址为:http://www.cnblogs.com/yomho/p/3296759.html] 我选择了IRepository作为我重构框架的仓储接口 一.接口定义   新的IRepository接口设计如下: 1 namespace Yom.NFramework2_0 2 { 3 public interface IRepository<…
Symbol.iterator 为每一个对象定义了默认的迭代器.该迭代器可以被 for...of 循环结构使用. --描述 当需要迭代一个对象的时候(比如在 for...of 循环的开始时),它的 @@iterator 方法就会被调用一次(0 个参数),同时返回的迭代器将被用来获取被迭代出来的值. 一些内建类型拥有默认的迭代器行为,其他类型(如 Object )则没有.下表中的内建类型拥有默认的@@iterator方法: Array.prototype[@@iterator]() TypedAr…
最近学习接触HBase的东西,看了<Habase in Action>,但里面关于HBase接口都是过时的接口,以下为HBase新的客户端接口: package com.n10k; import org.apache.hadoop.conf.Configured; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoo…