String.prototype.toLocaleUpperCase()

Метод toLocaleUpperCase() повертає той самий рядок, але з літерами переведеними до верхнього регістра відповідно до правил певної мови (місцевості).

Синтаксис

str.toLocaleUpperCase()
str.toLocaleUpperCase(locale)
str.toLocaleUpperCase([locale, locale, ...])

Параметри

locale Optional
Цей параметр вказує мовний код (або перелік мовних кодів), відповідно до якого має здійснюватися перетворення регістра. Якщо вказано кілька мовних кодів (передано масив рядків), обирається найліпший з наявних. Якщо параметр не вказано, буде використано системне значення (з налаштувань оточення).

Вертає

Новий рядок із тим самим вмістом, але літерами переведеними до верхнього регістра відповідно до правил певної мови (місцевості).

Винятки

  • Викидає виняток RangeError ("Invalid language tag: xx_yy"), якщо параметр locale не є належним мовним кодом (кодом місцевості).
  • Викидає виняток TypeError ("Language ID should be string or object."), якщо елемент масиву locale не є рядком.

Опис

Всі малі літери перетворюються на великі відповідно до правил певної мови (місцевості), а все решта лишається без змін. Позаяк клас String належить до незмінних типів даних, виклик toLocaleUpperCase() створює новий рядок, лишаючи оригінал без змін. 

Зазвичай метод toLocaleUpperCase() вертає той самий результат, що й toUpperCase(). Втім для деяких мов, як-от турецька, правила перетворення регістра дещо відрізняються від того, що передбачено у Unicode, тож результат буде іншим.

Також зауважте, що перетворення не обов'язково є перетворенням символів 1:1, оскільки деякі символи можуть перетворитись на два (або навіть більше) символів при переведенні у верхній регістр. Таким чином, довжина отриманого рядка може відрізнятись від довжини вхідного рядка. Це також означає, що перетворення не є стабільним, а отже, наприклад, наступне може повернути false:
x.toLocaleLowerCase() === x.toLocaleUpperCase().toLocaleLowerCase()

Приклади

Використання toLocaleUpperCase()

Якщо мовний код не зазначено, використовується поточне системне значення:

// виводить 'АБЕТКА'
console.log('Абетка'.toLocaleUpperCase());

Можна вказати лише один код чи декілька одночасно:

// виводить 'I'
console.log('i\u0307'.toLocaleUpperCase('lt-LT'));

let locales = ['lt', 'LT', 'lt-LT', 'lt-u-co-phonebk', 'lt-x-lietuva'];

// виводить 'I'
console.log('i\u0307'.toLocaleUpperCase(locales));

Специфікації

Специфікація
ECMAScript (ECMA-262)
The definition of 'String.prototype.toLocaleUpperCase' in that specification.
ECMAScript Internationalization API (ECMA-402)
The definition of 'String.prototype.toLocaleUpperCase' in that specification.

Підтримка веб-переглядачами

BCD tables only load in the browser

Див. також