바닐라 자바스크립트로 SPA 애플리케이션을 만들면서 HTML을 동적으로 만들기 위해서 innerHTML을 자주 사용했다. 하지만 HTML에서 텍스트를 추가하는 방법은 innerHTML 뿐만아니라 innerText, textConent를 사용할 수 있는 것으로 알고 있어
출처: How JavaScript works: inside the V8 engine + 5 tips on how to write optimized code 출처: 자바스크립트는 어떻게 작동하는가: V8 엔진의 내부 + 최적화된 코드를 작성을 위한 다섯 가지 팁출처: V
11 Useful Modern JavaScript Tips미디움에서 자바스크립트 관련 아티클중 참고하기에 좋은 글을 소개하려고 한다알고있는 팁들도 있었지만 모르고 있는 것들도 많이 있었고 실제 개발에도 적용가능할 만큼 유용한 팁들이 있다.객체에 속성을 추가할 때 특정
자바스크립트는 함수를 정의하는 방법이 다양하다. 결과적으로 함수라는 객체를 생성하는 동작은 동일하지만 정의 방식에 대해 각각 알아보고 차이점 또한 알아본다. 처음 자바스크립트를 공부하면서 함수를 크게 신경쓰지 않고 있었는데 컴포넌트를 만들거나, this, 클로저와 같은
매개변수로 전달 받는 값이 원시 값인가 객체인가원시 값은 값에 의한 전달 (pass by value, 쉽게 말해 값을 전달하기 때문에 전달한 값과 전달 받은 값은 서로 다르다.) 객체는 참조에 의한 전달(pass by reference, 쉽게 말해 객체의 주소를 전달하
즉시 실행 함수는 익명 함수를 사용하는 것이 일반적이다. 기명 함수를 사용할 수도 있지만 그룹 연산자 (…) 내의 기명 함수는 함수 선언문이 아니라 함수 리터럴로 평가되기 때문에 함수 이름을 외부에서 호출할 수 없다.즉시 실행 함수는 반드시 그룹 연산자(…)로 감싸야
호이 호이자바스크립트를 처음 공부할 때 어렵다고 들었고 면접 단골 질문으로 알고 있는 호이스팅에 대해 알아본다JavaScript에서 호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미합니다. var로 선언한 변수
프로그래밍 언어를 공부하다보면 대부분 한번쯤 마주하는 개념이 스코프가 아닐까 싶다. C++을 처음 공부했을 때도 스코프를 배웠었고(어렵게 느꼈다.) 자바스크립트를 공부하면서 스코프라는 개념이 나왔을 때 알고 있는 내용이라 생각하고 가볍게 지나쳤었다. 하지만 자바스크립트
실행 컨텍스트를 이해해야 호이스팅이 발생하는 이유와, 클로저에 대해 깊게 이해할 수 있다. 어려운 내용이지만 차근차근 이해해보자자바스크립트의 모든 소스코드는 실행에 앞서 평가 과정을 거치며 코드를 실행하기 위한 준비를 한다. 자바스크립트 엔진은 소스코드를 2개의 과정,
일전에 데브코스를 수강하면서 클로저에 대해 정리를 해본적이 있다.사실상 정리라기 보다는 그냥 책의 내용을 그대로 배껴쓰거나 다른 블로그의 좋은 글들을 그대로 가져왔을 뿐이었다.그때 당시에도 명확하게 클로저란 무엇인가 명확하게 이해하지 못하고 그냥 소멸된 함수의 변수를
scroll, resize, input, mouse 같은 이벤트는 짧은 시간 간격으로 연속해서 발생한다. 이러한 이벤트에 바인딩한 이벤트 해들러는 과도하게 호출되어 성능에 문제를 일으킬 수 있다. 디바운스와 스로틀은 짧은 시간 간격으로 연속해서 발생하는 이벤트를 그룹
자바스크립트는 코드를 평가하고 실행하는 과정에서 실행 컨텍스트를 생성한다.전역 실행 컨텍스트부터 함수 실행 컨텍스트까지 코드를 평가해서 실행 컨텍스트를 생성하고 실행 컨텍스트 스택에 푸시한 다음 코드를 실행한다. 그리고 실행 컨텍스트 스택에서 팝해서 제거한다.자바스크립