...


Свойства класса
    Кроме свойств экземпляра и свойств прототипа, JavaScript позволяет определить свойства класса (также называемые статическими свойствами) - это скорее свойства типа, чем свойства экземпляра конкретного объекта. Примером свойства класса является Number .MAX_VALUE. Это свойство является константой соответствующего типа и поэтому более логично размещать его в классе (конструкторе), а не в индивидуальных объектах Number. Но как именно реализуются свойства класса? Конструкторы являются функциями, а функции - объектами, поэтому в конструкторы можно добавлять свойства. Свойства класса добавляются точно так же. Строго говоря, в результате к конструктору соответствующего типа добавляется свойство экземпляра, но мы будем называть это свойство переменной класса. Так, для нашего примера

Robot.isMetallic = true;

определяет свойство класса объекта Robot с помощью добавления переменной экземпляра к конструктору. Важно помнить о том, что статические свойства существуют только в одном месте - как члены конструкторов. Они, таким образом, оказываются доступными с помощью конструктора, а не экземпляра объекта.
    Как уже объяснялось выше, статические свойства обычно содержат данные или программный код, не зависящий от конкретного экземпляра. Метод ToLowerCase() объекта String не может быть статическим, поскольку возвращаемая им строка зависит от объекта, который его вызывает. А вот свойство PI объекта Math (Math. PI) и метод parse() объекта String (String.parse() ) - могут, потому что не зависят от значения конкретного экземпляра. И из способа доступа к ним видно, что они действительно являются статическими свойствами. Свойство isMetallic, которое мы только что определили, доступно точно так же: Robot.isMetallic.



( )


10

?

:










@ 2008-2011 Amber

.