этом примере создается впечатление, что s - это объект (мы обратились
к функциональному свойству, как будто оно есть). Но нам известно, что s - это
базовый строковый тип. Так как же это произошло? Для этого JavaScript создает временный объект St ring (у которого есть функция toUpperCase, кроме других прочих). По завершении вызова функции JavaScript удаляет объект. Для доказательства
давайте попробуем присвоить свойство строке.
const s = "hello";
s . rating = 3;
s . rating;
/ / ошибки нет . . . удача ?
/ / undefined
JavaScript позволяет сделать это, создавая впечатление, что мы присваиваем свойство строке s. На самом деле свойство присваивается временному объекту String,
который для этого и создается. Сразу после этого временный объект удаляется, поэтому результатом s. rat ing будет undefined.
А разве toUpperCase () - это не метод, или как ?
Или что ?
почитай про прототипы
метод, в чём проблема?
Обсуждают сегодня