Вопрос по ООП
В JS все является объектами, как правильно объяснить поведение переменных a1, a2 в коде ниже. Почему в первом случае консоль выдает "undefined"?
var a1 = 1; a1.s = 2; console.log(a1.s) var a2 = new Number(1) a2.s = 2 console.log(a2.s) |
Цитата:
Цитата:
|
B@rmaley.e><e, имхо, не совсем поэтому (хотя, разумеется, вы правы, в JavaScript есть примитивы — «не-объекты»).
В первом случае, который привел ТС, временный объект (wrapper) уничтожается сразу после установки свойства s, а при попытке чтения свойства s создается новый объект-wrapper, который не обладает этим свойством. Впрочем, это одно и то же, так что B@rmaley.e><e прав в своем ответе. |
Спасибо за ответы. Amphiluke, можешь дать ссылку, где можно прочитать про временный объект (wrapper) подробней?
|
Могу.
|
Часовой пояс GMT +3, время: 14:28. |