Обычно вы используете свойство length, чтобы определить более короткую длину для искомой строки, а затем определить, находится ли искомая строка в конце этой искусственно укороченной строки.
Так что если вы иметь строку, и вы хотите выяснить, находится ли искомая строка в конце строки, но только в том случае, если искомая строка была обрезана в определенном месте индекса, о котором вы знаете. Вы можете дать строку, которую вы ищете, по этому индексу, передав методу новую длину для строки.
Давайте рассмотрим пример с использованием параметра длины, который MDN предоставляет в документации
let str = 'To be, or not to be, that is the question.'
console.log(str.endsWith('to be', 19)) // true
Так что в этом примере 19 передается как длина, заставляя его анализировать только строку, как если бы она имела длину 19, то есть до «е» в «быть», прямо перед второй запятой. Так что на самом деле это только анализ строки, 'To be, or not to be'
, потому что это первые 19 символов. Поскольку строка заканчивается на «быть», когда строка анализируется только до 19-го индекса (исключая), возвращается true
. Если параметр длины не передан, он вернет false
. Это имеет смысл?