문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
wiki:javascript:javascript_note:js_let [2021/04/13 15:26] emblim98 |
wiki:javascript:javascript_note:js_let [2023/01/13 18:44] (현재) |
||
|---|---|---|---|
| 줄 65: | 줄 65: | ||
| =====JavaScript Block Scope===== | =====JavaScript Block Scope===== | ||
| - | '' | + | '' |
| \\ | \\ | ||
| 블록 {} 내부에서 선언된 변수는 블록 외부에서 액세스 할 수 있습니다.\\ | 블록 {} 내부에서 선언된 변수는 블록 외부에서 액세스 할 수 있습니다.\\ | ||
| <code javascript> | <code javascript> | ||
| + | { | ||
| + | var x = 2; | ||
| + | } | ||
| + | // x CAN be used here | ||
| + | </ | ||
| + | \\ | ||
| + | ES2015 이전에는 %%JavaScript%%에 블록 범위가 없었습니다.\\ | ||
| + | \\ | ||
| + | '' | ||
| + | \\ | ||
| + | 블록 {} 내부에서 선언된 변수는 블록 외부에서 액세스 할 수 없습니다.\\ | ||
| + | <code javascript> | ||
| + | { | ||
| + | let x = 2; | ||
| + | } | ||
| + | // x can Not be used here. | ||
| + | </ | ||
| + | =====Redeclaring Variables===== | ||
| + | '' | ||
| + | \\ | ||
| + | 블록 내부의 변수를 다시 선언하면 블록 외부의 변수도 다시 선언됩니다: | ||
| + | <code javascript> | ||
| + | < | ||
| + | <html lang=" | ||
| + | < | ||
| + | |||
| + | < | ||
| + | <p id=" | ||
| + | < | ||
| + | var x = 10; // Here x is 10 | ||
| + | { | ||
| + | var x = 2; // Here x is 2 | ||
| + | } | ||
| + | document.getElementById(" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| </ | </ | ||
| + | \\ | ||
| + | '' | ||
| + | \\ | ||
| + | 블록 내부의 변수를 다시 선언해도 블록 외부의 변수는 다시 선언되지 않습니다.\\ | ||
| + | <code javascript> | ||
| + | < | ||
| + | <html lang=" | ||
| + | < | ||
| + | < | ||
| + | <p id=" | ||
| + | < | ||
| + | var x = 10; | ||
| + | { | ||
| + | let x = 2; | ||
| + | } | ||
| + | document.getElementById(" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | \\ | ||
| + | '' | ||
| + | |||
| + | =====Loop Scope===== | ||
| + | loop에서 '' | ||
| + | <code javascript> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <p id=" | ||
| + | < | ||
| + | var i = 5; | ||
| + | for (var i = 0; i < 10; i++) { | ||
| + | // some statements | ||
| + | } | ||
| + | document.getElementById(" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | \\ | ||
| + | loop에서 '' | ||
| + | <code javascript> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <p id=" | ||
| + | < | ||
| + | let i = 5; | ||
| + | for (let i = 0; i < 10; i++) { | ||
| + | // some statements | ||
| + | } | ||
| + | document.getElementById(" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | \\ | ||
| + | 첫 번째 예제에서는, | ||
| + | \\ | ||
| + | 두 번째 예제에서는, | ||
| + | \\ | ||
| + | '' | ||
| + | |||
| + | =====Function Scope===== | ||
| + | '' | ||
| + | \\ | ||
| + | 둘 다 **함수 범위(Function Scope)**를 가집니다.\\ | ||
| + | <code javascript> | ||
| + | function myFunction() { | ||
| + | var carName = " | ||
| + | </ | ||
| + | <code javascript> | ||
| + | function myFunction() { | ||
| + | let carName = " | ||
| + | </ | ||
| + | |||
| + | =====Global Scope===== | ||
| + | '' | ||
| + | \\ | ||
| + | 둘 다 **전역 범위(Global Scope)**를 갖습니다.\\ | ||
| + | <code javascript> | ||
| + | var x = 2; // Global scope | ||
| + | </ | ||
| + | <code javascript> | ||
| + | let x = 2; // Global scope | ||
| + | </ | ||
| + | |||
| + | =====Global Variables in HTML===== | ||
| + | %%JavaScript%%에서 전역 범위는 %%JavaScript%% 환경입니다.\\ | ||
| + | \\ | ||
| + | %%HTML%%에서, | ||
| + | \\ | ||
| + | '' | ||
| + | \\ | ||
| + | <code javascript> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <p>In HTML, global variables defined with < | ||
| + | <p id=" | ||
| + | < | ||
| + | var carName = " | ||
| + | // code here can use window.carName | ||
| + | document.getElementById(" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | \\ | ||
| + | '' | ||
| + | <code javascript> | ||
| + | < | ||
| + | <html lang=" | ||
| + | < | ||
| + | < | ||
| + | <p>In HTML, global variables defined with < | ||
| + | <p id=" | ||
| + | < | ||
| + | let carName = " | ||
| + | // code here can not use window.carName | ||
| + | document.getElementById(" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | =====Redeclaring===== | ||
| + | '' | ||
| + | <code javascript> | ||
| + | |||
| + | </ | ||
| + | \\ | ||
| + | 동일한 범위 또는 동일한 블록에서 let을 사용하여 var 변수를 다시 선언하는 것은 허용되지 않습니다.\\ | ||
| + | <code javascript> | ||
| + | var x = 2; // Allowed | ||
| + | let x = 3; // Not allowed | ||
| + | |||
| + | { | ||
| + | var x = 4; // Allowed | ||
| + | let x = 5; // Not Allowed | ||
| + | } | ||
| + | </ | ||
| + | \\ | ||
| + | 동일한 범위 또는 동일한 블록에서 let을 사용하여 let 변수를 다시 선언하는 것은 허용되지 않습니다.\\ | ||
| + | <code javascript> | ||
| + | let x = 2; // Allowed | ||
| + | let x = 3; // Not allowed | ||
| + | |||
| + | { | ||
| + | let x = 4; // Allowed | ||
| + | let x = 5; // Not allowed | ||
| + | } | ||
| + | </ | ||
| + | \\ | ||
| + | let을 사용하여 다른 범위 또는 다른 블록에서 변수를 다시 선언하는 것은 허용됩니다.\\ | ||
| + | <code javascript> | ||
| + | < | ||
| + | <html lang=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <p id=" | ||
| + | < | ||
| + | let x = 2; // Allowed | ||
| + | |||
| + | { | ||
| + | let x = 3; // Allowed | ||
| + | } | ||
| + | |||
| + | { | ||
| + | let x = 4; // Allowed | ||
| + | } | ||
| + | document.getElementById(" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | =====Hoisting===== | ||
| + | '' | ||
| + | \\ | ||
| + | hositing: 끌어 올리기, 들어올려 나르기\\ | ||
| + | 의미: 변수를 선언하기 전에 사용할 수 있습니다: | ||
| + | <code javascript> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <p id=" | ||
| + | < | ||
| + | carName = " | ||
| + | document.getElementById(" | ||
| + | var carName; | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | \\ | ||
| + | '' | ||
| + | \\ | ||
| + | 의미 : 코드 블록은 변수를 인식하지만, | ||
| + | \\ | ||
| + | 선언하기 전에 '' | ||
| + | \\ | ||
| + | 변수는 선언될 때까지 블록이 시작하는 곳에 있는 " | ||
| + | |||
| + | ====예제==== | ||
| + | 다음은 '' | ||
| + | <code javascript> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <p id=" | ||
| + | < | ||
| + | try { | ||
| + | carName = " | ||
| + | let carName; | ||
| + | document.getElementById(" | ||
| + | } | ||
| + | catch (err) { | ||
| + | document.getElementById(" | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| {{tag> | {{tag> | ||