JavaScript8 [js] 자바스크립트 DeepDive 40장 요약 : 이벤트 * 본 내용은 자바스크립트 DeepDive 내용을 참고하여 정리한 것입니다. 40장. 이벤트 1. 이벤트 드리븐 프로그래밍 - 이벤트 핸들러: 이벤트가 발생했을 때 호출될 함수 - 이벤트 핸들러 등록: 이벤트가 발생했을 때 브라우저에게 이벤트 핸들러의 호출을 위임하는 것 - 이벤트 드리븐 프로그래밍: 프로그램의 흐름을 중심으로 제어하는 프로그래밍 방식 2. 이벤트 타입 - 이벤트 타입이란, 이벤트의 종류를 나타내는 문자열 - 마우스 이벤트 타입: click, dbclick, mousedown등 - 키보드 이벤트 타입: keydown. keypress, keyup 등 - 포커스 이벤트: focus, blur, focusin, focusdown 등 - 폼 이벤트: submit, reset - 값 변경 이벤트.. 2023. 6. 24. [js] 자바스크립트 DeepDive 35장 요약 : 스프레드 문법 * 본 내용은 자바스크립트 DeepDive 내용을 참고하여 정리한 것입니다. 35장. 스프레드 문법 35장. 스프레드 문법 * 스프레드 문법 (...~~) - ES6도입. - 하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만든 것 - 스프레드 문법을 사용할 수 있는 대상은 Array, String, Map, Set, Dom컬렉션과 같이 for...of(반복)문으로 순회할 수 있는 이터러블에 한정된다. - 이터러블이란, symbol.iterator를 프로퍼티 키로 사용한 메서드를 직접 구현하거나 프로토타입 체인을 통해 상속 받은 symbol.iterator메서드를 호출하면 이터레이터 프로토콜을 준수한 이터레이터를 반환하는데, 이러한 규약을 이터러블 프로토콜이라고 하며, 이를 준수한 .. 2023. 6. 4. [js] 자바스크립트 DeepDive 27장 요약 (2) : 배열 고차 함수 * 본 내용은 자바스크립트 DeepDive 내용을 참고하여 정리한 것입니다. 27장 9절. 배열(2) : 배열 고차 함수 (P.529~551) 27.9) 배열 고차 함수 (p.529~551) * 고차 함수 - 함수를 인수로 전달받거나 함수를 반환하는 함수 - 외부 상태의 변경이나 가변 데이터를 피하고, 불변성을 지향하는 함수형 프로그래밍에 기반을 둠 * 함수형 프로그래밍 - 순수 함수와 보조 함수와의 조합으로 조건문과 반복문을 제거 -> 복잡성 해결 - 변수의 사용 억제 -> 상태 변경을 피하려는 프로그래밍 패러다임 27.9.1) Array.prototype.sort (p.529~532) - 배열의 요소를 정렬함. - 원본 배열을 직접 변경하며 정렬된 배열을 반환 - 오름차순으로 요소를 정렬 (내림차순 .. 2023. 5. 21. [js] 자바스크립트 DeepDive 27장 요약 (1) * 본 내용은 자바스크립트 DeepDive 내용을 참고하여 정리한 것입니다. 27장. 배열(1) (P.492~528) 27.1) 배열이란? (p.492~494) - 배열이란 여러 개의 값을 순차적으로 나열한 객체 타입의 자료구조 - 배열은 배열의 길이를 나타내는 length프로퍼티를 가진다. -> for문을 통해 접근 가능 - Array 생성자 함수, Array.of, Array.from메소드로 생성할 수 있다. - 요소: 배열이 가지고 있는 값. 자신의 위치를 나타내는 0이상의 정수인 인덱스를 가진다. (0부터 시작) * 일반 객체와 배열의 구분. -> 가장 명확한 차이는 값의 순서와 length 프로퍼티. 구분 객체 배열 구조 프로퍼티 키와 프로퍼티 값 인덱스와 요소 값의 참조 프로퍼티 키 인덱스 값.. 2023. 5. 20. [js] 자바스크립트 DeepDive 26장 요약 * 본 내용은 자바스크립트 DeepDive 내용을 참고하여 정리한 것입니다. 26장. ES6함수의 추가 기능 (P.469~491) 26.1) 함수의 구분... ES6이전의 함수의 활용 (P.469~471) - ES6이전의 모든 함수는 일반 함수로서 호출할 수 있는 것은 물론, 생성자 함수로서 호출할 수 있다. 즉, callable이면서, constructor이다. - ES6이전에는 객체에 바인딩된 함수를 생성자 함수로 호출하는 경우가 문법상 허용되었다. 이는 성능면에서 문제를 초래한다. - ES6이전의 모든 함수는 사용 목적에 따라 명확한 구분이 없으므로, 호출방식에 제약이 없고, 생성자 함수로 호출하지 않아도 프로토타입 객체를 생성한다. 26.2) 메서드 (P.471~473) - ES6사양에서의 메서드.. 2023. 5. 18. [js] 자바스크립트 DeepDive 19장 (11) ~ (14) 요약 * 본 내용은 자바스크립트 DeepDive 내용을 참고하여 정리한 것입니다. 19장. 프로토타입 (11) ~ (14) 11. 직접 상속 (p.299 ~ 302) ● 11.1) Object.create에 의한 상속 - object.create메소드는 명시적으로 프로토타입을 지정하여 새로운 객체를 생성한다. - object.create메소드도 다른 객체 생성 방식과 마찬가지로 추상 연산 OrdinaryObjectCreate를 호출함 ● object Create의 메소드 - 첫 번째 매개변수: 생성할 객체의 프로토타입으로 지정할 객체를 전달 - 두 번째 매개변수: 생성할 객체의 프로퍼티 키와 프로퍼티 디스크립터 객체로 이뤄진 객체를 전달 (생략가능) // 지정된 프로토타입 및 프로퍼티를 갖는 새로운 객체를 생.. 2023. 3. 24. 이전 1 2 다음