자바스크립트에서 호이스팅
4493 단어 javascript
호이스팅이란?
JavaScript에서 호이스팅은 변수나 함수가 선언되기 전에 사용되는 방법을 설명하는 데 사용되는 용어입니다.
예시:
console.log(name) // => undefined
var name = 'Pharia'
개념적으로 바인딩 이름이 코드의 맨 위에 올려진다고 상상할 수 있습니다.
var name // declaration is moved to the top
console.log(name) // => undefined because all variables in JS are initially set to undefined
name = 'Pharia' // assignment is not moved
이것이 어떻게 가능한지?
JavaScript에서 코드가 한 줄씩 실행되기 전에 JS 엔진은 빌드한 전체 코드와 사용자가 만든 모든 함수에서 만든 변수를 위한 메모리 공간을 따로 확보합니다. 이것은 실행 단계가 뒤따를 컴파일 단계로 간주됩니다.
예
var - CAN 호이스트
console.log(name) // undefined
var name = "Pharia"
const - 호이스트할 수 없음
console.log(name) // // ReferenceError: Cannot access 'name' before initialization
const name = "Pharia"
let - 호이스트할 수 없음
console.log(name) // ReferenceError: Cannot access 'name' before initialization
let name
키워드 없이 선언된 변수 - 호이스트할 수 없음
console.log(name) // ReferenceError: name is not defined
name = "Pharia"
기능 - CAN 호이스트
logName() // => "Pharia"
function logName() {
return "Pharia"
}
결론
Javascript에서 호이스팅이 가능하지만 버그 및/또는 오류를 피하기 위해 범위의 맨 위에 모든 함수와 변수를 선언하는 것이 더 나은 방법입니까?
기억하세요... 즐거운 코딩, 친구들! =)
출처
Reference
이 문제에 관하여(자바스크립트에서 호이스팅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/phariale/hoisting-in-javascript-4980텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)