• Почему не появляется ошибка ReferenceError?

    viewDidLoad
    @viewDidLoad
    Свойство name уже определено браузером и хранится в объекте window
    Помимо собственно свойств окна, объект также хранит все глобальные переменные, которые попадают туда при объявлении через var в глобальной области, либо объявлении без ключевого слова в любом месте программы (без 'use strict')
    Тем самым, объявляя в глобальной области переменную name через var, вы переопределяете одноименное свойство window.name
    Определения же через let/const даже в глобальном контексте будут храниться отдельно от window
    Ответ написан
    Комментировать
  • Почему не появляется ошибка ReferenceError?

    ChingizMuellim
    @ChingizMuellim
    FrontEnd, React Js
    Дело в том, что ты себя путаешь. This это своего рода указатель для методов. (Метод это функция яв-ся свойством обьекта). В этом случае this (так как не в обьекте) напрвляется на глобальный обьект, а это window. У виндов наме как свойство существует, но пустое. Например, если ты напишешь это самое в https://codepen.io/pen, то у тебя name будет иметь значение CodePen. Конкретно в твое случае windows имеет name, но пустое. По этому не выводит ошибок. Надеюсь смог объяснить.
    Ответ написан
    1 комментарий
  • Почему не появляется ошибка ReferenceError?

    Machinez
    @Machinez
    var ничего и никуда не сохраняет, на скриншоте у тебя показано свойство name объекта Window, которое никакого в данном случае отношения к твоей переменной не имеет
    https://developer.mozilla.org/en-US/docs/Web/API/W...
    но при объявлении переменной name в глобальном контексте, ты перезаписываешь это свойство у объекта Window
    Ответ написан
    Комментировать