위 코드와 아래 코드는 동일하다. (출력: undefined)hoisting이란, 변수의 선언만 해당 scope의 맨 위로 끌어올리는 것을 뜻한다. 얘는 reference error!위 두 코드의 실행 결과 동일 👉 function도 hoisting 가능!bindin
closure는 function이 하나 생길 때마다 하나씩 생긴다.environment는 함수 자신을 둘러싼, 접근할 수 있는 모든 스코프를 뜻한다.and 함수로 만들어진 saltAnd의 closure는👉 함수: print👉 환경: x -> 'salt'closure
Prototype 클래스란❓ 개념의 단위, 개념을 하나로 묶는 느낌쓰, 덩어리 함수를 정의하듯이 클래스 만들고 있다. 클래스? --> prototype을 기반으로 한 function? new를 통해 함수를 부르게 되면 함수는 생성자로서의 역할을 하게 됨 this는
💡 let과 const는 ES2015(ES6)에 추가된 변수 선언 키워드❕ hoisting 규칙이 없고, block scoping을 지원한다.❕ 따라서 var보다 훨씬 예측 가능한 코드를 짤 수 있게 해준다.let과 const의 예측 가능성과 유지보수성이 var보다
💡 ES2015에서 새로 추가된 syntax💡 병합, 구조 분배 할당(destructing) 등에 다양하게 활용할 수 있다.spread❓ 흩뿌린다❓personalData, publicData 2개의 object가 있고 이 두개를 합쳐서 user를 만들때, 두 obj
Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타낸다.비동기적 처리를 할 때 자바스크립트에서는 콜백 방식으로 처리를 많이 한다.오래 걸리는 작업을 web api, 노드 api를 통해 맡기고 그 결과가 돌아왔을 때 비로소 어떤 작업
JS standard library에 표준으로 등록되어 있으나, 아직 브라우저나 Node.js에서 구현되지 않은 기능을 미리 써 볼 수 있도록 만들어진 구현체를 뜻한다.ex) core.js코드를 A 언어에서 B 언어로 변환하는 작업을 뜻한다.자바스크립트의 경우 보통 구