- Давайте применим вам пример:
function checkScope() { var i = 'function scope'; if (true) { i = 'block scope'; console.log('Block scope i is: ', i); } console.log('Function scope i is: ', i); return i; }
console.log(checkScope()); will display Block scope i is: block scope Function scope i is: block scope block scope
- Давайте исправим код, чтобы я заявил в заявлении, является отдельной переменной, чем я объявил в первой строке функции. Просто убедитесь, что не использовать ключевое слово var в любом месте в вашем коде.
function checkScope() { let i = 'function scope'; if (true) { let i = 'block scope'; console.log('Block scope i is: ', i); } console.log('Function scope i is: ', i); return i; }
console.log(checkScope()); will display Block scope i is: block scope Function scope i is: function scope function scope
Эта задача предназначена для того, чтобы показать разницу между тем, как var и позволять ключевым словам назначать объем объявленной переменной. При программировании функции, аналогичной использованной в этом упражнении, часто лучше использовать различные имена переменной, чтобы избежать путаницы.
Оригинал: «https://dev.to/rthefounding/compare-scopes-of-the-var-and-let-keywords-721»