HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Эта ошибка появляется, когда на вход функции передается undefined вместо строки. Метод toUpperCase существует только у строк, поэтому попытка вызвать его у undefined приводит к TypeError.</p>
1 <p>Эта ошибка появляется, когда на вход функции передается undefined вместо строки. Метод toUpperCase существует только у строк, поэтому попытка вызвать его у undefined приводит к TypeError.</p>
2 <p>Возможные причины:</p>
2 <p>Возможные причины:</p>
3 <ol><li><p><strong>Неправильный индекс при обращении к символу строки</strong></p>
3 <ol><li><p><strong>Неправильный индекс при обращении к символу строки</strong></p>
4 <p>Если вы делаете что-то вроде toUpperCase(str[i]), убедитесь, что i находится в пределах длины строки:</p>
4 <p>Если вы делаете что-то вроде toUpperCase(str[i]), убедитесь, что i находится в пределах длины строки:</p>
5 <p>Любой выход за пределы массива символов вернет undefined.</p>
5 <p>Любой выход за пределы массива символов вернет undefined.</p>
6 </li>
6 </li>
7 <li><p><strong>Передача в функцию не строки</strong></p>
7 <li><p><strong>Передача в функцию не строки</strong></p>
8 <p>Проверьте, что вы действительно передаете строку, а не результат другой функции или переменную, которая может быть undefined.</p>
8 <p>Проверьте, что вы действительно передаете строку, а не результат другой функции или переменную, которая может быть undefined.</p>
9 </li>
9 </li>
10 <li><p><strong>Отладка через console.log</strong></p>
10 <li><p><strong>Отладка через console.log</strong></p>
11 <p>Перед вызовом toUpperCase выводите значение:</p>
11 <p>Перед вызовом toUpperCase выводите значение:</p>
12 <p>Это поможет увидеть, где появляется undefined.</p>
12 <p>Это поможет увидеть, где появляется undefined.</p>
13 </li>
13 </li>
14 <li><p><strong>Особенности сравнения символов</strong></p>
14 <li><p><strong>Особенности сравнения символов</strong></p>
15 <p>Если нужно проверять отдельные символы на верхний регистр, можно делать так:</p>
15 <p>Если нужно проверять отдельные символы на верхний регистр, можно делать так:</p>
16 </li>
16 </li>
17 </ol><p>Это защитит от undefined.</p>
17 </ol><p>Это защитит от undefined.</p>
18 <p>Основная идея: ошибка не в самой функции toUpperCase, а в том, что в неё иногда попадает undefined. Нужно отследить, откуда это undefined приходит, и ограничить диапазон индексов или проверить значения до вызова метода.</p>
18 <p>Основная идея: ошибка не в самой функции toUpperCase, а в том, что в неё иногда попадает undefined. Нужно отследить, откуда это undefined приходит, и ограничить диапазон индексов или проверить значения до вызова метода.</p>
19 <p>Для сложных алгоритмов полезно разбирать код построчно, описывать действия переменных и использовать пошаговую отладку, чтобы выявить точное место возникновения undefined.</p>
19 <p>Для сложных алгоритмов полезно разбирать код построчно, описывать действия переменных и использовать пошаговую отладку, чтобы выявить точное место возникновения undefined.</p>