Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

Имейте в виду, что

Object.seal
не делает свойства объекта доступными только для чтения; используйте для этого функцию
Object.freeze.
Отметьте также, что
Object.seal
не воздействует на унаследованные свойства. Если в цепочке прототипов объекта, обработанного функцией
Object.seal,
имеется расширяемый и настраиваемый объект, тогда имеется возможность добавлять и удалять наследуемые им свойства.

Обратите внимание, что эта функция вызывается не как метод объекта: это глобальная функция, которая принимает объект в виде аргумента.

См. также

Object.defineProperty, Object.freeze, Object.isSealed, Object.preventExtensions, раздел 6.8.3

Object.toLocaleString

возвращает локализованное строковое представление объекта

Синтаксис

объект.toLocaleString

Возвращаемое значение

Строковое представление объекта.

Описание

Этот метод предназначен для получения строкового представления объекта, локализованного в соответствии с текущими региональными настройками. Метод

toLocaleString,
предоставляемый по умолчанию классом
Object
, просто вызывает метод
toString
и возвращает полученную от него нелокализованную строку. Однако обратите внимание, что другие классы, в том числе
Array
,
Date
и
Number
, определяют собственные версии этого метода для локализованного преобразования в строку. Вы также можете переопределить этот метод собственными классами.

См. также

Array.toLocaleString, Date.toLocaleString, Number.toLocaleString, Object.toString

Object.toString

возвращает строковое представление объекта

Синтаксис

объект.toString

Возвращаемое значение

Строка, представляющая объект.

Описание

Метод

toString
относится к тем, которые обычно не вызываются явно в JavaScript-программах. Программист определяет этот метод в своих объектах, а система вызывает метод, когда требуется преобразовать объект в строку.

JavaScript вызывает метод

toString
для преобразования объекта в строку всякий раз, когда объект используется в строковом контексте. Например, если объект преобразуется в строку при передаче в функцию, требующую строкового аргумента:

alert(my_object);

Подобным же образом объекты преобразуются в строки, когда они конкатенируются со строками с помощью оператора +:

var msg = 'Мой объект: ' + my_object;

Метод

toString
вызывается без аргументов и должен возвращать строку. Чтобы от возвращаемой строки была какая-то польза, эта строка должна каким-либо образом базироваться на значении объекта, для которого был вызван метод.

Определяя в JavaScript специальный класс, целесообразно определить для него метод

toString.
Если этого не сделать, объект наследует метод toString, определенный по умолчанию в классе
Object
. Этот стандартный метод возвращает строку в формате:

[objectкласс]

где класс - это класс объекта: значение, такое как «Object», «String», «Number», «Function», «Window», «Document» и т.д. Такое поведение стандартного метода

toString
иногда бывает полезно для определения типа или класса неизвестного объекта. Однако большинство объектов имеют собственную версию
toString,
поэтому для произвольного объекта о необходимо явно вызывать метод
Object.toString,
как показано ниже:

Object.prototype.toString.apply(o);

Обратите внимание, что этот способ идентификации неизвестных объектов годится только для встроенных объектов. Если вы определяете собственный класс объектов, то класс для него будет соответствовать значению «Object». В этом случае дополнительную информацию об объекте позволит получить свойство

Object.constructor
. Метод
toString
может быть очень полезен при отладке JavaScript-программ - он позволяет выводить объекты и видеть их значения. По одной только этой причине есть смысл определять метод
toString
для каждого создаваемого вами класса.

Несмотря на то что метод

toString
обычно вызывается системой автоматически, бывают случаи, когда его требуется вызвать явно. Например, чтобы выполнить явное преобразование объекта в строку, если JavaScript не делает это автоматически:

у = Math.sqrt(x); // Вычислить число

ystr = у.toString; // Преобразовать его в строку

Относительно этого примера следует помнить, что числа имеют встроенный метод

toString,
обеспечивающий принудительное преобразование.

В других случаях вызов

toString
может оказаться полезным - даже в таком контексте, когда JavaScript выполняет преобразование автоматически. Явное использование метода
toString
может сделать программный код более понятным:

alert(my_obj. toString);

См. также

Object.constructor), Object.toLocaleString, Object.valueOf

Object.valueOf
Поделиться:
Популярные книги

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Я все еще князь. Книга XXI

Дрейк Сириус
21. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я все еще князь. Книга XXI

Кодекс Охотника. Книга XVI

Винокуров Юрий
16. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVI

Эволюционер из трущоб. Том 3

Панарин Антон
3. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
6.00
рейтинг книги
Эволюционер из трущоб. Том 3

Хозяин Стужи 7

Петров Максим Николаевич
7. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Хозяин Стужи 7

Камень Книга седьмая

Минин Станислав
7. Камень
Фантастика:
фэнтези
боевая фантастика
6.22
рейтинг книги
Камень Книга седьмая

Афганский рубеж

Дорин Михаил
1. Рубеж
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Афганский рубеж

Древесный маг Орловского княжества 3

Павлов Игорь Васильевич
3. Орловское княжество
Фантастика:
аниме
сказочная фантастика
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Древесный маг Орловского княжества 3

Найденыш

Шмаков Алексей Семенович
2. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Найденыш

Дважды одаренный. Том III

Тарс Элиан
3. Дважды одаренный
Фантастика:
альтернативная история
аниме
фэнтези
фантастика: прочее
юмористическое фэнтези
5.00
рейтинг книги
Дважды одаренный. Том III

Личный аптекарь императора. Том 2

Карелин Сергей Витальевич
2. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Личный аптекарь императора. Том 2

На границе империй. Том 4

INDIGO
4. Фортуна дама переменчивая
Фантастика:
космическая фантастика
6.00
рейтинг книги
На границе империй. Том 4

Купеческая дочь замуж не желает

Шах Ольга
Фантастика:
фэнтези
6.89
рейтинг книги
Купеческая дочь замуж не желает

Язычник

Мазин Александр Владимирович
5. Варяг
Приключения:
исторические приключения
8.91
рейтинг книги
Язычник