본문 바로가기
반응형

호이스팅3

var, let, const 차이 var(재선언 및 같은이름으로 재선언가능) var a = 'a' a = 'aa' console.log(a) var b = 'b' var b = 'bb' console.log(b) // aa // bb 재선이 가능하며 b라는 이름의 변수가 있어도 같은이름으로 제선언가능하다. 같은이름으로 재선언된다는 점은 좋지안은 결과이다. 그렇기 때문에 ex6에서 let, const가 나와 해당 이슈를 해결하였다. 또한 var는 호이스팅이 발생하기 때문에 의도치 안은 이슈가 발생하기도 한다. let(재선언 가능, 호이스팅이 발생하지 안는다, 같은이름으로 재선은 불가) let c = 'c' c = 'cc' console.log(c) let d = 'd' // let d = 'dd' console.log(d) var 처럼 재.. 2021. 4. 14.
호이스팅(Hoisting) 호이스팅은 유효 범위의 최상단으로 올라가는 현상을 말한다. 호이스팅은 var 와 function 로 나눌 수 있다. var 호이스팅 if (true) { var a = 'testA' } console.log(a) 결과 // testA 위 코드처럼 a라는 변수가 최산단으로 올라가 console.log에 찍히는 현상을 확인 할 수 있다 하지만 es6넘어가면서 let, const 를 사용하여 이러한 이슈를 해결 할 수 있다. ※var, const, let 차이 function 호이스팅 testFunction() function testFunction() { console.log('testFunction') } // testFunction 위 함수처럼 비록 실행문 아래에 함수를 정의하더라도 호이스팅으로 스크립트.. 2021. 4. 14.
Function VS Arrow Function 차이점 결론부터 말하면 다음과 같다. Function Arrow Function 1 함수 자체에 이름을 정의가능하다 함수 자체에 이름을 정의 할 수 없다. 2 argumnets 사용할수 있다 argumnets 대신 Rest Parameters는 사용할 수 있다. 3 this 는 현제 scope(범위) 를 의미한다. this 는 최상의 범위를 의미한다. 1. 이름정의 function test () { console.log('test') } const test2 = () => { console.log('test2) } Function 함수는 이름을 정의가능하다. 하지만 Arrow Fucntion은 변수를 할당하여 이름을 정의 할 수 있다 그러므로 Arrow Function은 Function 함수처럼 호이스팅이 일어.. 2021. 4. 14.
반응형