Steady Dev - TIL

Javascript Questions

Scope

var var1 = 1;
if (true) {
var var2 = 2;
if (true) {
var var3 = 3;
}
}
function foo() {
var var4 = 4;
function bar() {
var var5 = 5;
}
}
console.log(var1);
console.log(var2);
console.log(var3);
console.log(var4);
console.log(var5);
콘솔에 어떻게 찍힐까요?1
2
3
var4 is not defined
var5 is not defined

var a = 3;
var b = 5;
var bar = function () {
var b = 7;
var c = 11;
console.log(a, b, c);
a += b + c;
console.log(a, b, c);
};
console.log(a, b);
bar();
console.log(a, b);
콘솔에 어떻게 찍힐까요?3, 5
3 7 11
21 7 11
21 5

var x = 1;
if (true) {
var x = 10;
}
console.log(x);
콘솔에 어떻게 찍힐까요?10

var i = 10;
for (var i = 0; i < 5; i++) {
console.log(i);
}
console.log(i); // 5
콘솔에 어떻게 찍힐까요?0
1
2
3
4
5

var x = 1;
function foo() {
var x = 10;
bar();
}
function bar() {
console.log(x);
}
foo(); // ?
bar(); // ?
콘솔에 어떻게 찍힐까요?1
1