Posts /

Javascirpt Variable

04 Apr 2017
Updated at 06 May 2017

변수 호이스팅(Variable Hoisting)

function showName() {
// var name; // 내부에서 해석하였을 때 최상위에서 선언한것으로 간주
console.log("First Name : " + name);
var name = "Ford";
console.log("Last Name : " + name);
}
showName();
// First Name : undefined
// Last Name : Ford
// First Name이 undefined인 이유는 지역변수 name이 호이스트 되었기 때문입니다.

호이스트 되었을때, 함수 선언은 변수선언을 덮어 씁니다.

// 다음 두 변수와 함수는 myName으로 이름이 같습니다.
var myName; // string
function myName() {
console.log("Rich");
}
// 함수 선언은 변수명을 덮어 씁니다.
console.log(typeof myName); // function

하지만, 변수에 값이 할당될 경우에는 반대로 변수가 함수선언을 덮어 씁니다.

var myName = "Richard";
function myName() {
console.log("Rich");
}
console.log(typeof myName); //string

Let, const (ES6)


Twitter Facebook Google+