@yuriytkachenko

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

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

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

var x = 3;

</script>

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

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

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

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

var x = 3;

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

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

var y = new Number(3);

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

var z = 3;

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

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

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

Войти через центр авторизации
Похожие вопросы