Javascript 与x27之间的差异;a';和';instanceOf';

Javascript 与x27之间的差异;a';和';instanceOf';,javascript,unit-testing,bdd,chai,Javascript,Unit Testing,Bdd,Chai,我正在研究Chai BDD,我无法理解a和instanceOf之间的区别 尤其是当我看到这个例子使用a: expect([1,2,3])to.be.an('array') 而这个使用的是instanceOf: expect([1,2])to.be.instanceof(数组) 文档通常会说一些关于推荐或不推荐的内容,但在这种情况下,我找不到任何内容。我从参考资料中了解到,instanceOf可以用于检查对象构造函数,而a主要用于检查类型(这是正确的吗?)。那么,哪一个最适合数组?我不知道,但是语

我正在研究Chai BDD,我无法理解
a
instanceOf
之间的区别

尤其是当我看到这个例子使用
a

expect([1,2,3])to.be.an('array')

而这个使用的是
instanceOf

expect([1,2])to.be.instanceof(数组)


文档通常会说一些关于推荐或不推荐的内容,但在这种情况下,我找不到任何内容。我从参考资料中了解到,
instanceOf
可以用于检查对象构造函数,而
a
主要用于检查类型(这是正确的吗?)。那么,哪一个最适合
数组

我不知道,但是语法看起来与Ruby相似。在Ruby中,区别在于
数组
实例是
数组
可枚举
对象
。它只是一个
数组的实例,所以
[1,2,3]。是一个?(对象)
真的
[1,2,3]。是一个?(数组)
真的
[1,2,3]。数组的实例
真的
[1,2,3]。是一个?(对象)
的实例是
假的
谢谢你的回答。好的,现在您让我注意到了,这个问题也可以扩展到对象,因为对象可以使用
a
instanceOf
进行测试。但是我不知道它是否和Ruby一样。我会尽快的。