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>