搜索特定元素在数组中的位置,通常可以使用 indexOf
、lastIndexOf
、findIndex
、findLastIndex
这四个函数。
indexOf
和 lastIndexOf
有两个特殊情况需要关注:
- 它们不认为数组中的无数据位置是 undefined,即
new Array(5).indexOf(undefined) === -1
; - 它们无法搜索到 NaN,即
[NaN].indexOf(NaN) === -1
。
因此,如果你的场景中有这样的情况,那么对于结果就需要小心了。
箭头函数不可以作为构造函数。这很容易理解,它没有 this
,而构造函数又必须有,由此产生了不可调和的冲突,强行使用 new
来创建对象会导致错误:
const foo = () => {};
new foo(); // ❌ Uncaught TypeError: foo is not a constructor
不能使用 super
、arguments
,也不能作为构造函数使用。