Метод length() не требует никаких уточнений. Он всегда работает однозначно и извлекает полную длину строки.
Но так бывает не всегда. Например, если мы хотим извлечь первый символ из строки, то нам нужно явно указать, что символ первый. Для этого в вызовы методов можно передавать параметры:
var searchEngine = "google";
// Возвращает первый символ (тип char)
searchEngine.charAt(0); // 'g'Почему символ первый, а указан 0? В программировании отсчет начинается с нуля. Поэтому первый символ находится на нулевой позиции — «индекс 0».
Соответственно, у последнего символа индекс равен длине строки минус 1:
// google length => 6
searchEngine.charAt(5); // 'e'Параметров может быть больше, чем один. Например, метод replace() работает с двумя, где первый — что заменить, а второй – на что:
searchEngine.replace("go", "mo"); // "moogle"Параметры могут содержать значение по умолчанию там, где это значение используется чаще всего.
Такая возможность в языках добавлена, чтобы избавить программиста от рутины. Простой пример – метод, извлекающий из строки подстроку, то есть часть строки.
Этот метод принимает на вход:
- Первым параметром индекс, с которого надо начать извлекать подстроку
- Вторым параметром — индекс, до которого нужно извлекать символы
По умолчанию берется строка до конца:
"hexlet".substring(1); // "exlet"
"hexlet".substring(1, 2); // "e"
"hexlet".substring(1, 3); // "ex"
"hexlet".substring(3, 6); // "let"