/ / Javascript - Чому декларації в ексклюзивних, якщо пункти вважаються дублювати? - javascript, область дії

Javascript - Чому декларації є ексклюзивними, якщо статті вважаються дублікатами? - javascript, область застосування

З наступним JavaScript

if (someCondition){
var x = ...; //Resharper warns that this is a duplicate declaration
}
else {
var x = ...; //Resharper warns that this is a duplicate declaration
}

Але сфери відрізняються? Чому це має значення? Це виключно для JavaScript?

Я не отримую такого попередження з еквівалентним кодом у C #.

Або - Це помилкове попередження Resharper?

Відповіді:

6 за відповідь № 1

За замовчуванням змінні в JavaScript пов'язаніобласть дії, не блокувати область дії. Змінні, визначені всередині блоків, піднімаються до області дії, що є дуже поширеним джерелом помилок. і саме те, що відбувається у вашому випадку.

Змінні можуть бути оголошені в області блоку з let ключове слово хоча для цього необхідний JavaScript 1.7.