Dev
취소

Javascript 28장 - 함수의 프로퍼티와 일급 객체

Javascript 처음부터 다시 보는 딥 다이브 일급 객체 다음의 조건을 충족하는 객체를 일급 객체라고 한다. 런타임에 생성이 가능하다. 변수나 자료구조(객체, 배열 등)에 저장할 수 있다. 함수의 매개변수에 전달할 수 있다. 함수의 반환값으로 사용할 수 있다. ...

Javascript 27장 - 생성자 함수와 일반 함수 객체

Javascript 처음부터 다시 보는 딥 다이브 생성자 함수 new 연산자 와 함께 호출하여 객체를 생성하는 함수이다. 자바스크립트에서 객체를 생성하는 방법 중 하나인 객체 리터럴 에 의한 생성 방식은 직관적이고 간편하다는 장점이 있지만, 단 하나의 객체만 생성하고 구조가 동일하여도 매번 같은 프로퍼티와 메서드를 작성해야 한다....

Javascript 26장 - 프로퍼티와 오브젝트

Javascript 처음부터 다시 보는 딥 다이브 var 전역 변수로 사용되며 사용이 지양된다. 함수 레벨 스코프로 작동하기 때문에 전역 변수로 남발될 가능성이 높다. var는 선언 단계와 초기화 단계가 함께 이루어지며 런타임에서 할당 단계가 이루어진다. 호이스팅에 따라 선언과 초기화 단계가 함께 이루어져서...

Javascript 25장 - 지역 변수와 전역 변수

Javascript 처음부터 다시 보는 딥 다이브 변수와 생명 주기 지역 변수 생명 주기 지역 변수의 생명 주기는 함수의 생명 주기와 일치한다. function method1() { var x = "local"; console.log(x); return x; } method1(); // local co...

Javascript 24장 - 함수와 타입

Javascript 처음부터 다시 보는 딥 다이브 타입 변환 문자열 변환 문자열로 타입을 바꾸는 방법은 크게 2가지가 있다. String 전역 객체의 메서드로 모든 타입의 값을 문자열로 변환할 수 있다. null, undefined를 문자열로 변환하는, 일반적으로 사용하는 방법이다. toString 프로토타...

Javascript 23장 - Object.is, 반복문

Javascript 처음부터 다시 보는 딥 다이브 Object.is ES6에서 도입된 메서드며 일치 비교 연산자와 동일하게 작동하지만 더 엄격하게 평가된다. -0, +0은 같은 값과 타입으로 일치하지만, 이 메서드는 IEEE 표준에 따라 다른 값으로 취급하며 비트 표현까지 고려하여 비교한다. 유효하지 않은 숫자 상태를 나타내는...

Javascript 22장 - 인터프리터, 컴파일러, Node.js, 호이스팅

Javascript 처음부터 다시 보는 딥 다이브 개념 정리 자바스크립트는 마크업 언어인 HTML과 달리 프로그래밍 언어이다. 마크업 언어 : 태그 등을 이용하여 문서나 데이터의 구조를 작성하는 언어 프로그래밍 언어 : 쉽게 말해 구동시키기 위해 작성되는 언어로, 깡통인 마크업 언어에 추가, 삭제와 같은...

Interview 27장 - 리플로우와 리페인트

Interview Reflow 웹 페이지 내에서 요소의 위치 또는 크기에 변화가 있을 때 변화된 레이아웃을 다시 계산하여 렌더 트리에 적용하는 과정이다. 크기(widnt, height…), 위치(position…), 레이아웃(flex, grid…), 폰트 관련 속성이 있다. 리플로우는 부모 노드의 변화가 자식 노드에게 영향을 끼쳐 성능...

Interview 26장 - key에 index를 사용하면 안 되는 이유

Interview key를 index로 사용하면 안 되는 이유 리스트를 매핑하여 여러 개의 동일한 컴포넌트를 사용할 때, 이를 구분짓기 위해 key값이 필요하다. map((value, idx) => ...)와 같은 형태로 많이 사용되는 키 값은 가상돔이 조정하는 단계에서 각 노드들의 키 값을 비교하여 리스트의 추가 변경 등의 작업을 ...

Interview 25장 - DOM

Interview DOM html, XML 같은 마크업 언어로 작성된 문서를 자바스크립트같은 프로그래밍 언어가 조작할 수 있도록 하는 인터페이스이다. 마크업 언어에는 자바스크립트가 접근 가능한 인터페이스가 없기 떄문에 문서에 접근하고 제어할 수 있는 수단이 필요하다. 이벤트 핸들러를 추가, 새로운 요소를 추가 또는 삭제...