что [].includes(undefined) -> false. Потому что длинна нулевая, или потому что массив не содержит undefined?
Для примера [].includes(1) -> false и [undefined,undefined].includes(undefined) -> true, а так же в MSD полифилле явно проверяется длинна на нуль, и если она нулевая то false.
Это первый вопрос, и второй выполняется ли реально указанный поллифил в v8 или там другой код? Вот ссылка на msd https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes и на какой то файл v8 https://github.com/v8/v8/blob/515d3400d1eda3cb6c06b6bced0e4435d3138b52/src/builtins/builtins-typed-array.cc
Я не шарю где найти нативный код функций, но помню видел статьи на эту тему, можно погуглить. Наверное можно еще глянуть нормальный полифилл https://github.com/zloirock/core-js/blob/master/packages/core-js/internals/array-includes.js
Обсуждают сегодня