Answer

Answer

t.me/js_test

Ответ:

undefined (без strict)
Ошибка (strict mode)

Объяснение:

В зависимости от того, используете ли вы строгий режим (use strict) или нет, результат может быть:

  1. undefined (без strict)
  2. Ошибка (strict mode)

Почему? Давайте посмотрим что происходит в строке кода, отмеченной (*):

  1. В момент обращения к свойству str создаётся «объект-обёртка».
  2. В строгом режиме, попытка изменения этого объекта выдаёт ошибку.
  3. Без строгого режима, операция продолжается, объект получает свойство test, но после этого он удаляется, так что на последней линии str больше не имеет свойства test.

Данный пример наглядно показывает, что примитивы не являются объектами.

Они не могут хранить дополнительные данные.

Код для проверки:

let str = "Привет";

str.test = 5; // (*)

alert(str.test);

Report Page