프론트엔드 개발을 공부하면서 숨쉬듯이 자바스크립트를 사용해왔지만, 정작 자바스크립트가 어떤 언어이고 어떻게 동작하는지에 대해서는 잘 알지 못했다. 프론트엔드 개발자로서 기본적인 동작 원리도 모른다는 것은 어불성설이기 때문에 자바스크립트 엔진부터 브라우저 환경, 이벤트
컨텍스트(Context)란 우리말로 하면 '문맥', '맥락'이라는 뜻을 가진다. 실행 컨텍스트라는 말 자체를 놓고 본다면 무언가를 실행하는 맥락이라는 의미로 프로그래밍에서 이 무언가는 코드를 가리키므로 결국 실행 컨텍스트는 코드를 실행하는데 필요한 맥락이라고 이해할 수
자바스크립트는 우리나라의 행정구역을 광역시/도 ➡️ 시/군/자치구 ➡️ 읍/면/동으로 나누는 것처럼 코드의 영역을 스코프로 나누어 관리한다. 스코프는 단방향으로 연결되는 체인을 형성하며, 이 스코프 체인을 통해 상위 스코프로 이동하면서 식별자를 검색한다. 특히 스코프는
자바스크립트에서의 this는 마치 동요 '내 동생 곱슬머리'에서 이름은 하나인데 별명은 서너 개인 내 동생처럼 어떻게 부르는가에 따라서 this에 바인딩되는 객체가 달라진다. 가뜩이나 객체지향 언어의 this와도 헷갈리는데 자바스크립트 내에서 this가 이리저리 바뀌는
호이스팅은 자바스크립트를 막 접했던 시절 가장 혼란스러웠던 개념 중 하나였다. 도대체 자바스크립트는 왜이렇게 요상한 특징을 갖고 있는건지 도무지 이해가 되지 않았었는데, 점점 깊게 공부를 해나가니 조금씩 호이스팅이 친숙해지고 있다. 이참에 호이스팅에 대해서 제대로 씹고
var 키워드로 선언한 변수는 중복으로 선언할 수 있기 때문에 초기화문의 유무에 따라서 다르게 동작함.만약 같은 이름의 변수가 이미 선언되어 있는 것을 모르고 변수를 중복으로 선언하고 값까지 할당했다면, 의도치 않게 이전에 선언된 변수의 값이 변경되는 부작용 발생!va
전역 변수는 전역 코드에서 선언된 변수전역 변수의 생명 주기는 어플리케이션의 생명 주기와 같음. cf) 지역 변수의 생명 주기는 함수의 생명 주기와 같음.var 키워드로 선언한 전역 변수는 전역 객체의 프로퍼티가 됨. ⇒ var 키워드로 선언한 전역 변수의 생명 주기
자바스크립트를 사용하는 개발자라면 숨쉬듯이 사용하는 콜백 함수. 하지만 정작 콜백 함수가 무엇이냐고 물어본다면 쉬이 대답하기 어렵다. 콜백 함수는 API 통신 등 비동기 로직을 작성할 때 필수적으로 쓰이기 때문에 그 개념을 잘 이해하고 있어야 제대로 코드를 짤 수 있다