Почему `var` все еще используется в современных кодовых базах JavaScript, несмотря на наличие` Let` и `const`?Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Почему `var` все еще используется в современных кодовых базах JavaScript, несмотря на наличие` Let` и `const`?

Сообщение Anonymous »

Я изучал современный JavaScript, и я понимаю, что let и const теперь являются предпочтительными способами объявления переменных из-за их сфера блоков и более предсказуемого поведения по сравнению с VAR .
Однако, пока читая различные проекты с открытым кодом и даже некоторые уроки, я все еще часто сталкиваюсь с использованием var , даже в ES6. Это поднимает несколько вопросов: < /p>
1. Почему var по -прежнему используется в современном коде, даже если let и const доступны?
это просто устаревший код, или существуют преднамеренные варианты использования, когда var все еще предпочтительнее?

2. Есть ли какие -либо соображения производительности при использовании var vs let/const ?
Например:

[*] Двигатели JS, такие как V8, оптимизируют var лучше из -за его возраста? и т. д .?

Код: Выделить всё

function legacyExample() {
var x = 10;
if (true) {
var x = 20;
console.log(x); // 20
}
console.log(x); // 20 again - not block scoped
}

function modernExample() {
let y = 10;
if (true) {
let y = 20;
console.log(y); // 20
}
console.log(y); // 10
}
Что я ищу
Я не ищу просто «Не используйте var ». Instead, I want to understand:

Any valid engineering trade-offs for using var
[*]Real-world situations where var still makes sense
[*]Migration strategies or gotchas when replacing var with let or const
< /ul>
Я прочитал и попробовал несколько примеров кода JavaScript, особенно в различных современных репозиториях с открытым исходным кодом. Я попытался заменить var на let или const и ожидал никакой разницы. Но оказывается, что в некоторых случаях, особенно внутри петли или, если блоки, поведение «переменных изменяется из -за различий в сферах». Я хочу понять, почему, прежде чем я сделаю серьезный рефактор или не включил правило в Eslint .

Подробнее здесь: https://stackoverflow.com/questions/796 ... ailability
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • В чем разница между const int *, const int * const и int * const?
    Anonymous » » в форуме C++
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Использование const вместо let in javascript [дублировать]
    Anonymous » » в форуме Javascript
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Основной шаблонный вопрос: `const const int*` распадается в `const int`
    Anonymous » » в форуме C++
    0 Ответы
    133 Просмотры
    Последнее сообщение Anonymous
  • В чем разница между «let» и «var»?
    Гость » » в форуме Javascript
    0 Ответы
    20 Просмотры
    Последнее сообщение Гость
  • Сложный (фигурный) синтаксис: ${var} или {$var} [дубликат]
    Anonymous » » в форуме Php
    0 Ответы
    55 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»