Оператор if
создает лексическую область видимости. Фактически, каждый раз, когда вы видите {}
в javascript, это создает область. Это означает, что переменные, объявленные с let
или const
в этой области, не могут быть доступны вне этой области.
if (something) {
const newItem = 'wow!';
// newItem exists here
}
// newItem does not exist here
Что вы хотите сделать, это объявить переменную в той области, где вы хотите получить к нему доступ, а затем просто присвоить эту переменную в вашем if
утверждении:
let newItem;
if (something) {
newItem = 'wow!';
}
// newItem exists here, and has a value of either 'wow!' or undefined.
Обратите внимание, что мне пришлось изменить объявление переменной с const
на let
, потому что нам нужно назначить значение к значению после его создания, поэтому оно больше не может быть константой.