【发布时间】:2016-03-12 06:33:03
【问题描述】:
[].every(i => i instanceof Node) // -> true
为什么当数组为空时,JavaScript 中数组的every 方法返回true。我正在尝试像这样进行类型断言...
const isT = (val, str) => typeof val === str
const nT = (val, str) => !isT(val, str)
const is = {}
is.Undef = (...args) => args.every(o => isT(o, 'undefined'))
is.Def = (...args) => args.every(o => nT(o, 'undefined'))
is.Null = (...args) => args.every(o => o === null)
is.Node = (...args) => args.every(o => o instanceof Node)
is.NodeList = (...args) => args.every(n => n instanceof NodeList)
但即使没有参数传递给它们,它们仍然返回 true。
【问题讨论】:
-
不知道答案但应该可以使用
is.Undef = (...args) => args.length && args.every(o => isT(o,'undefined'));
标签: javascript arrays methods