β νΈμ΄μ€ν μ΄λ?
catName("ν΄λ‘μ΄");
function catName(name) {
console.log("μ κ³ μμ΄μ μ΄λ¦μ " + name + "μ
λλ€");
}
/*
κ²°κ³Ό: "μ κ³ μμ΄μ μ΄λ¦μ ν΄λ‘μ΄μ
λλ€"
*/
- ν¨μ μμ μλ μ μΈλ€μ λͺ¨λ λμ΄μ¬λ €μ, ν΄λΉ ν¨μ μ ν¨ λ²μμ μ΅μλ¨μ μ μΈνλ κ²
- ν¨μ μ μΈλ§! λμ΄μ¬λ €μ§ (ν λΉμβ)
//λ³μμ νΈμ΄μ€ν
μμ
console.log(name); // undefined
var name = "κΉμ ν";
//-------------------------------
var name; // nameλ³μκ° νΈμ΄μ€ν
λμ΄ μλ¨μΌλ‘ μ΄λ
console.log(name);
name = "κΉμ ν";
//ν¨μμ νΈμ΄μ€ν
μμ
foo();
foo2();
function foo() {
console.log("ν¨μμ μΈλ¬Έ");
}
var foo2 = function() {
console.log("ν¨μννμ");
}
//----------------------------------
var foo2;
function foo() {
console.log("ν¨μμ μΈλ¬Έ");
}
foo();
foo2();
foo = function() {
console.log("ν¨μννμ");
}
β νΈμ΄μ€ν μ μ°μ μμ
λ³μ μ μΈμ΄ ν¨μ μ μΈλ³΄λ€ μλ‘ λμ΄μ¬λ €μ§!
var myName = "λ΄ μ΄λ¦";
function myName() {
console.log("μ΄λ¦μ μΆλ ₯ν©λλ€");
}
function yourName() {
console.log("μ΄λ¦μ΄ λλ?");
}
var yourName ="λμμ΄λ¦μ";
console.log(typeof myName);
console.log(typeof yourName);
//--------------------------------------
// νΈμ΄μ€ν
: λ³μκ° μ μΈ
var myName;
var yourName;
// νΈμ΄μ€ν
: ν¨μμ μΈλ¬Έ
function myName() {
console.log("μ΄λ¦μ μΆλ ₯ν©λλ€");
}
function yourName() {
console.log("μ΄λ¦μ΄ λλ?");
}
// λ³μμ κ°μ ν λΉ
myName = "λ΄ μ΄λ¦";
yourName ="λμμ΄λ¦μ";
console.log(typeof myName); //String
console.log(typeof yourName); //String
β νΈμ΄μ€ν μ¬μ© μ μ£Όμμ
- κ°λ μ±κ³Ό μ μ§λ³΄μλ₯Ό μν΄μ νΈμ΄μ€ν μ΄ μΌμ΄λμ§ μλλ‘ νλκ² μ μΌ μ’μ
- varλ₯Ό μ°λ©΄ νΌλμ€λ½κ³ μΈλͺ¨μλ μ½λκ° μκΈΈ μ μμΌλ........
- ES6μ μ§μνμ§ μλ κ²½μ°κ° μκΈ° λλ¬Έμ, μμ§κΉμ§λ varλ₯Ό μ΄λ»κ² μ°λ μ§ μ΄ν΄λ νκ³ μμ΄μΌ νλ€κ³ ν¨
β κ·Έλμ varλ μ νΈμ΄μ€ν λλ건λ°
νΈμ΄μ€ν μ ν¨μλ₯Ό μν΄ λμ¨ κΈ°λ₯μ΄λΌκ³ νλ€.
//ν¨μκ° νΈμ΄μ€ν
λμ΄μΌ νλ μ΄μ
var foo = function() {
foo2();
}
var foo2() = function () {
console.log("νΈμ΄μ€ν
μ κ΄ν κΈ");
}
foo(); // "νΈμ΄μ€ν
μ κ΄ν κΈ"
foo()
μμμ foo2()
λ₯Ό νΈμΆνκΈ° μν΄μ νΈμ΄μ€ν
μ΄λΌλ κΈ°λ₯μ΄ μκΈ°κ² λ κ²!
(ν¨μλ₯Ό μμμ μκ΄μμ΄ νΈμΆ ν μ μλλ‘ νκΈ° μν΄)
κ·Όλ° μ΄κΈ° μλ°μ€ν¬λ¦½νΈλ ν¨μλ₯Ό function
μΌλ‘ μ μΈν μ§ var
λ‘ μ μΈν μ§ μ 맀νκΈ° λλ¬Έμ varλ νΈμ΄μ€ν
λλλ‘ νλ€κ³ νλ€...π¨
πμ°Έκ³ (κ°μ¬ν©λλ€)
https://gmlwjd9405.github.io/2019/04/22/javascript-hoisting.html
[JavaScript] νΈμ΄μ€ν (Hoisting)μ΄λ - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
https://medium.com/sjk5766/var-let-const-%ED%8A%B9%EC%A7%95-%EB%B0%8F-scope-335a078cec04
var, let, const νΉμ§ λ° νΈμ΄μ€ν
μ€λ κ°λ° μ€μ κ°μκΈ° μλ¬κ° λ°μνλ€. μ½λλ₯Ό λ³Έλ€. μ..? μ..? μ½λλ₯Ό κ°λ¨ν μΆλ € μ 리νλ©΄ μλ μ½λμ κ°λ€.
medium.com
https://velog.io/@nomadhash/Java-Script-var%EC%99%80-%ED%98%B8%EC%9D%B4%EC%8A%A4%ED%8C%85
[Java Script] varμ νΈμ΄μ€ν
ES6 μ΄μ κΉμ§ μλ°μ€ν¬λ¦½νΈμλ varλΌλ λ³μ ν€μλλ°μ μμλ€. ES6(ECMAScript2015)λΆν° λΈλ‘ λ¨μμ μ ν¨λ²μμ λ³μ μ μΈ ν€μλμΈ let, constκ° λ±μ₯νλ©΄μ νμ¬λ var, let, const μ΄ μΈ κ°μ§λ₯Ό λ³μ μ
velog.io
'πκ³΅λΆ > JS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JavaScript] JSμ λ°λ³΅λ¬Έ (0) | 2021.11.21 |
---|---|
[JavaScript] λλ°μ΄μ€(Debounce) vs μ€λ‘ν(Throttle) (0) | 2021.10.12 |
[JavaScript] Callback vs Promise vs async-await (0) | 2021.10.10 |
[JavaScript] νμ΄νν¨μ vs μΌλ°ν¨μ (0) | 2021.10.09 |
[JavaScript] window.requestAnimationFrame() (0) | 2021.10.07 |
λκΈ