Мой редактор (VS Code) показывает, что имя моей переменной устарело. Имя переменной вычеркнуто со 2-й строки. Вы можете помочь?
let name = 'Mark';
name = 5;
console.info(name);
Для Dai, даже если я удалю строку (имя = 5), она все равно будет считаться устаревшей.
@Ivar Этот дубликат не относится к let name, только к var name.
Разве vscode не показывает объяснение устаревания?
Да, это происходит каждый раз, когда вы где-то называете свойство «имя» (глобально?). предупреждение об устаревании взято из типописи для lib.dom.d.ts. Я тоже смутился, когда впервые увидел.
В браузере переменная глобального имени имеет особое значение. Это вызвало много путаницы у людей на протяжении многих лет, когда они пытались создать свою собственную глобальную переменную с именем name, а затем обнаруживали, что она преобразована в строку.
Используемая вами программа проверки, по-видимому, не может в особом случае присвоить name, если она следует за объявлением let name.
Вы можете видеть, что сообщение исчезает, если вы поместите код внутрь функции.
Это ИИФЭ? И если да, то что делает восклицательный знак в начале. Это как бы отрицает это или что-то в этом роде?
Является IIFE, и ! знак предназначен только для небольшой оптимизации. Это не имеет значения.
Для уточнения ! не является оптимизацией в этом примере. Для IIFE вы можете превратить функцию в выражение, заключив ее в круглые скобки и вызвав ее, или, чтобы сэкономить несколько символов, поставив перед ней оператор и вызвав ее. На представленном скриншоте автор сделал и то, и другое, сделав одно или другое ненужным.
В VS Code найдите имя переменной, где оно показывает устаревшее имя. Поместите курсор и щелкните его правой кнопкой мыши, затем выберите «Перейти к определению». Он откроет другой файл с именем lib.dom.d.ts.
Просто удалите строку «объявить константное имя: void;» Это удалит ваше имя переменной из списка устаревших.
Вы буквально изменяете глобальное пространство имен typescript. Каждый раз, когда вы обновляете машинописный текст или делаете что-то еще, это может измениться. Также от этого может зависеть некоторый машинописный код. Абсолютно не рекомендуется.
Просто чтобы уточнить, всякий раз, когда что-то вычеркнуто, это предупреждение о том, что оно в основном использовалось много и может быть нарушено. Это просто предупреждение для переменных с базовыми именами. Вам не нужно беспокоиться об этом
Это потому, что вы перезаписываете свое значение 'Mark' на 5, поэтому в первую очередь нет причин устанавливать его на 'Mark'.