Задать вопрос
@yuriytkachenko

Создается ли объект после объявления переменной? Если да, то как он выглядит?

Говорят что в js все есть объект.

Вот например, у нас в коде еще ничего нет мы просто создали переменную x и присвоили ей значения:
<script>

var x = 3;

</script>

У меня есть вопросы
1) В этот момент когда создали переменную и присвоили ей значения, создался неявно объект?
2) Если да, то имя переменной становится именем объекта? а начение переменной (3) это значение свойства какого-то?

Тоесть:
создается неявно обьект:
x = {
number: 3
};

Правильно или нет?

3) Если да, то интересно как называется свойство так как я написал - number, или есть какое-то специальное имя в js?
4) Если переменная это ячейка памяти в компьютере то объект который создан переменной также можно назвать ячейкой памяти?
  • Вопрос задан
  • 220 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
Вот что происходит в вашем примере поэтапно:

var x = 3;

  1. Вычисляется выражение справа – тип number, что не объект. Результат сохраняется в памяти, теперь его можно получить по ссылке;
  2. Идентификатор "x" сопоставляется с созданной выше ссылкой, регистрируется переменная (тоже не объект);
  3. Программист Вася лезет за значением переменной и получает... ну вы поняли, число.

Где объекты? А нет их тут. Объекты из примитивов в JS получаются только тогда, когда вы их создаёте явно:

var y = new Number(3);

...или обращаетесь к методу соответствующего объекта через примитив:

var z = 3;

z.toString() // то, что написали вы
(new Number(z)).toString() // то, что было исполнено

При этом в последнем случае объект будет уничтожен сборщиком мусора практически сразу же, потому что ссылок на него не остаётся.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы