ToUpperCase: примеры (JAVASCRIPT)
toUpperCase: stringОписание функции toUpperCase
Метод toUpperCase() является встроенной функцией для строк в JavaScript. Он преобразует все символы строки в верхний регистр, используя правила преобразования регистра, определенные для хостовой локали (обычно Unicode).
Использование метода актуально при необходимости сравнения строк без учета регистра, нормализации пользовательского ввода или форматирования текста для отображения. Функция не изменяет исходную строку, так как строки в JavaScript являются иммутабельными.
Аргументы: метод не принимает параметров.
Возвращаемое значение: новая строка, представляющая исходную строку, преобразованную в верхний регистр. Если вызвать метод на значении, не являющемся строкой, оно будет предварительно преобразовано в строку.
Простые примеры использования
Базовый вызов для строки из латинских символов:
let str = 'Hello World!';
console.log(str.toUpperCase());HELLO WORLD!
Преобразование строки с кириллицей:
let text = 'Привет, мир!';
console.log(text.toUpperCase());ПРИВЕТ, МИР!
Вызов для строки, содержащей цифры и спецсимволы:
let mixed = 'abc123!@#';
console.log(mixed.toUpperCase());ABC123!@#
Вызов на примитиве, не являющемся строкой:
let num = 123;
console.log(num.toUpperCase()); // Сначала будет преобразовано в строку '123'123
Похожие функции в JavaScript
- toLowerCase() – преобразует все символы строки в нижний регистр. Используется аналогично
toUpperCase(). - toLocaleUpperCase() – учитывает локаль пользователя для специфичных преобразований регистра (например, для турецкого языка с точками над 'i'). Предпочтительнее использовать для интернационализированных приложений.
- toLocaleLowerCase() – аналогична предыдущей, но для нижнего регистра.
Распространенные ошибки
Вызов метода на значениях null или undefined вызывает TypeError.
let a = null;
console.log(a.toUpperCase());Uncaught TypeError: Cannot read properties of null
Ожидание изменения исходной строки. Строки в JavaScript иммутабельны.
let original = 'test';
let upper = original.toUpperCase();
console.log(original); // Остается 'test'test
Игнорирование особенностей локали может привести к неожиданным результатам, например, в турецком языке.
console.log('i'.toLocaleUpperCase('tr-TR'));
console.log('i'.toUpperCase());İ I
Изменения в последних версиях
Спецификация метода String.prototype.toUpperCase остается стабильной в последних версиях ECMAScript. Основные изменения связаны с обновлениями стандарта Unicode, который определяет правила преобразования регистров для различных символов.
Расширенные примеры
Использование для регистронезависимого сравнения строк:
function compareIgnoreCase(str1, str2) {
return str1.toUpperCase() === str2.toUpperCase();
}
console.log(compareIgnoreCase('JavaScript', 'javascript'));true
Нормализация пользовательского ввода перед сохранением или сравнением:
let userInput = ' Admin ';
let normalized = userInput.trim().toUpperCase();
console.log(normalized);ADMIN
Преобразование массива строк в верхний регистр:
let fruits = ['apple', 'banana', 'cherry'];
let upperFruits = fruits.map(fruit => fruit.toUpperCase());
console.log(upperFruits);['APPLE', 'BANANA', 'CHERRY']
Работа с символами, имеющими сложные правила преобразования (лигатуры, диграфы):
console.log('ß'.toUpperCase()); // В немецком языке
console.log('œ'.toUpperCase());SS Œ
Преобразование объекта, не являющегося строкой:
let obj = {
toString() {
return 'custom object';
}
};
console.log(obj.toString().toUpperCase());CUSTOM OBJECT
Аналоги функции в других языках
PHP: функция strtoupper($string). Работает с однобайтовыми кодировками, для многобайтовых (UTF-8) используется mb_strtoupper().
echo strtoupper('Hello');HELLO
Python: метод строки str.upper(). Возвращает новую строку.
print('Hello'.upper())HELLO
MySQL: функция UPPER(str) или UCASE(str).
SELECT UPPER('hello');HELLO
C: стандартная библиотека содержит функцию toupper(int c) для преобразования одного символа. Для строк требуется цикл.
#include
char str[] = "hello";
for(int i=0; str[i]; i++) str[i] = toupper(str[i]); HELLO