자바스크립트에서 호이스팅
변수, 함수 및 클래스와 같은 일부 항목을 호이스트할 수 있습니다.
var로 선언된 변수
코드에서 변수가 선언되기 전에 var로 선언된 변수에 액세스하려고 하면 값이 정의되지 않습니다.
console.log(name); //undefined
var name = "John";
다시 javascript는 오류를 던지는 대신 해당 변수를 정의되지 않은 것으로 설정합니다.
let 및 const로 선언된 변수
이러한 변수는 호이스팅되지 않으며 선언 전에 액세스하면 오류가 발생합니다.
console.log(name); //reference error: name is not defined
const name = "John";
기능
함수도 호이스팅되며 그 값은 함수 자체가 될 것이므로 선언 전에 완벽하게 사용할 수 있습니다.
sayHi(); //Hi
function sayHi() {
console.log("Hi");
}
그러나 화살표 함수는 var로 선언해도 호이스팅되지 않습니다.
sayHi(); // sayHi is not a function
var sayHi = () => console.log("Hi");
ES6 클래스
클래스는 호이스팅되지 않으며 선언 전에 액세스하면 오류가 발생합니다.
const person = new Person(); //cannot access 'Person' before initialization
class Person {
constructor() {}
}
요약
var 변수: 기본적으로 호이스팅되고 정의되지 않음
const 변수: 게양되지 않음
기능: 게양 및 사용 가능
화살표 기능: 게양되지 않음
클래스: 게양되지 않음
Reference
이 문제에 관하여(자바스크립트에서 호이스팅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hacker4world/hoisting-in-javascript-252j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)