-
Notifications
You must be signed in to change notification settings - Fork 2
/
04-Scope.js
94 lines (67 loc) · 1.56 KB
/
04-Scope.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
'use strict';
// SCOPE - Visibility of a variable in a file/project
const someFunction = () => {
let hello = `Billy bob joe`; // variable has got LOCAL scope
console.log(`${hello} called from the function`);
}
someFunction();
// console.log(hello);
// if a variable doesn't exist in a file and we try to access it
// it will create one AS A VAR and hoist!
// if it does exist in the file, it will use that variable
let check = false;
const changeCheck = () => {
check = true;
}
console.log(check); //? False
changeCheck();
console.log(check); //? True
let change = false;
const changeMe = () => {
let minion = true; // LOCAL SCOPE
console.log(minion); // True
}
console.log(change); //? False
changeMe();
console.log(change); //? False
// we look within before going else where!
console.log("------------------");
let flag;
const test = () => {
flag = true;
console.log(flag); //T
test1();
console.log(flag); //F
}
const test1 = () => {
flag = false;
return;
}
test();
//? True, false x5
console.log("----------");
let x;
const anotherOne = () => {
x = true; // GLOBAL SCOPE
console.log(x); // True
anotherOneAgain();
console.log(x); // TRUE
}
const anotherOneAgain = () => {
let x = false; //LOCAL SCOPE
return ;
}
anotherOne();
//? True True x6
//? True False
if(true){
let y = "hello";
}
// console.log(y);
let bankBalance = 100;
const deposit = (bankBalance) => {
bankBalance += 50;
console.log(bankBalance); //150
}
deposit(bankBalance);
console.log(bankBalance); // 100