При написании программ на JavaScript используется набор символов Unicode. В отличие от 7_разрядной кодировки ASCII, подходящей только для английско_ го языка, и 8_разрядной кодировки ISO Latin_1, подходящей только для англий_ ского и основных западноевропейских языков, 16_разрядная кодировка Unicode обеспечивает представление практически любого письменного языка. Эта воз_ можность важна для интернационализации и особенно для программистов, не говорящих на английском языке.
Американские и другие англоговорящие программисты обычно пишут програм_ мы с помощью текстового редактора, поддерживающего только кодировки ASCII или Latin_1, и потому у них нет простого доступа к полному набору символов Unicode. Однако никаких трудностей это не порождает, поскольку кодировки ASCII и Latin_1 представляют собой подмножества Unicode, и любая JavaScript_ программа, написанная с помощью этих наборов символов, абсолютно коррект_ на. Программисты, привыкшие рассматривать символы как 8_разрядные значе_ ния, могут быть сбиты с толку, узнав, что JavaScript представляет каждый сим_ вол с помощью двух байтов, однако на самом деле для программиста это обстоя_ тельство остается незаметным и может просто игнорироваться.
Стандарт ECMAScript v3 допускает наличие Unicode_символов в любом месте JavaScript_программы. Однако версии 1 и 2 стандарта допускают использование Unicode_символов только в комментариях и строковых литералах, заключен_ ных в кавычки, все остальные составляющие программы ограничены набором
34 Глава 2. Лексическая структура

ASCII_символов.1 Версии JavaScript, предшествующие стандарту ECMAScript, обычно вообще не поддерживают Unicode.