regular中应该支持array的继承
Closed this issue · 1 comments
rainfore commented
目前regular中是直接在Array.isArray方法中通过toString的方式判断是不是数组的。考虑到会有直接从Array继承的类,建议用instanceof Array来判断是不是数组。
只需将下面两个函数改成这样即可
isArray: function(arr){
return arr instanceof Array;
// return tstr.call(arr) === "[object Array]";
}
_.typeOf = function (o) {
return o == null ? String(o) : (o instanceof Array ? 'array' : o2str.call(o).slice(8, -1).toLowerCase());
}
leeluolee commented
不会的, 即使是ES6用 class进行继承(并且改写了toString方法), ({}).toString的默认行为仍然是输出 '[object Array]'