javascript(12)
-
[JS] 21장 빌트인 객체-모던 자바스크립트 Deep Dive
21.1 자바스크립트 객체의 분류 표준 빌트인 객체 : 표준 빌트인 객체는 ECMAScript 사양에 정의된 객체를 말하며, 애플리케이션 전역의 공통 기능을 제공한다. 표준 빌트인 객체는 ECMAScript 사양에 정의된 객체이므로 자바스크립트 실행 환경(브라우저 또는 Node.js 환경)과 관계없이 언제나 사용할 수 있다. 표준 빌트인 객체는 전역 객체의 프로퍼티로서 제공된다. 따라서 별도의 선언 없이 전역 변수처럼 언제나 참조할 수 있다. 호스트 객체 : 호스트 객체는 ECMAScript 사양에 정의되어 있지 않지만 자바스크립트 실행 환경에서 추가로 제공하는 객체를 말한다. 사용자 정의 객체 : 사용자가 직접 정의한 객체이다. 21.2 표준 빌트인 객체 Math, Reflect, JSON을 제외한 표..
2024.02.29 -
[JS] 10장 객체 리터럴-모던 자바스크립트 Deep Dive
10.1 객체란? 원시 타입의 값, 즉 원시 값은 변경 불가능한 값(immutable value)이지만 객체 타입의 값, 즉 객체는 변경 가능한 값(mutable value)이다. 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키와 값으로 구성된다. 자바스크립트에서 사용할 수 있는 모든 값은 프로퍼티 값이 될 수 있다. 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메서드(method)라 부른다. 프로퍼티: 객체의 상태를 나타내는 값(data) 메서드: 프로퍼티(상태 데이터)를 참조하고 조작할 수 있는 동작(behavior) 10.2 객체 리터럴에 의한 객체 생성 자바스크립트는 프로토타입 기반 객체지향 언어로서 클래스 기반 객체지향 언어와는 달리 다양한 객체 생성 방법을 지원한다. ..
2024.02.01 -
[JS] 09장 타입 변환과 단축 평가-모던 자바스크립트 Deep Dive
9.1 타입 변환이란? 자바스크립트의 모든 값은 타입이 있는데 이는 개발자의 의도에 따라 다른 타입으로 변환할 수 있다. 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환, 또는 타입 캐스팅이라고 한다. 반대로 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동으로 변환되는 것을 암묵적 타입 변환, 또는 타입 강제 변환이라 한다. var x = 10; //명시적 타입 변환 var str = x.toString(); console.log(typeof str, str); // string 10 //암묵적 타입 변환 str = x + ' '; console.log(typeof str, str); // string 10 //x 변수의 값이 변경된 것..
2024.02.01 -
[JS] HTTP 메소드 (GET, POST, PUT, DELETE, PATCH)
HTTP 메소드란 클라이언트가 웹 서버에게 사용자 리퀘스트의 목적이나 종류를 알리는 수단이다. Request의 종류 데이터 조회 GET 데이터 추가 POST 데이터 수정 PUT 데이터 삭제 DELETE 모든 Request는 Head와 Body로 나뉜다. Head : Reqest에 대한 부가 정보 (메서드) Body : 실제 데이터를 담는 부분 (data) 데이터를 추가하는 POST, 수정하는 PUT은 Body 부분의 데이터가 필요하지만 단순히 조회하는 GET과 DELETE는 Body 부분이 필요로 하지 않다. GET method 데이터를 읽거나 검색할 때 사용 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터, 쿼리 스트링)를 통해서 전달 데이터 전달 가능하지만 권장하지 않음 불필요한 리퀘스트를 제..
2024.01.28 -
[JS] 이벤트 버블링, 캡쳐링, 위임
이벤트 전파는 다음과 같이 3단계로 구분된다. 1. 캡처링 단계: 이벤트가 상위 요소에서 하위 요소 방향으로 전파 (부모 요소에서 자식 요소로 전파) 캡쳐링 단계에서 이벤트 핸들러를 동작시키려면, addEventListener 에 세번째 프로퍼티에 true 또는 { capture: true }를 전달하면 된다. 2. 타깃 단계: 이벤트각 이벤트 타깃에 도달 3. 버블링 단계: 이벤트가 하위 요소에서 상위 요소 방향으로 전파 (자식 요소에서 부모 요소로 전파) 기본적으로 이벤트 버빌링이 일어나고, 이를 막으려면 이벤트 객체에서 stopPropagation 메소드로 전파를 막을 수 있음 이벤트 위임 자식 요소 각각에 이벤트 핸들러를 하나씩 등록할 필요 없이 부모 요소에서 한 번에 자식 요소들에 발생한 이벤트..
2024.01.28 -
[JS] 13장 스코프-모던 자바스크립트 Deep Dive
13.1 스코프란? 스코프는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념이다. 자바스크립트에서 var 키워드로 선언한 변수와 let, const 키워드로 선언한 변수의 스코프도 다르게 동작한다. 모든 식별자(변수이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정된다. 이를 스코프라 한다. 즉, 스코프는 식별자가 유효한 범위를 말한다. 또한 자바스크립트 엔진은 이름이 같은 두 개의 변수 중에서 어떤 변수를 참조해야 할 것인지를 결정해야 하는데 이를 식별자 결정이라 한다. 자바스크립트 엔진은 스코프를 통해 어떤 변수를 탐조해야 할 것인지 결정한다. 따라서 스코프란 자바스크립트 엔진이 식별자를 검색할 때 사용하는..
2024.01.27