본문 바로가기

자바스크립트25

DOM Document Object Model은 HTML 문서의 계층적 구조와 정보를 표현하며 이를 제어할 수 있는 API, 즉 프로퍼티와 메서드를 제공하는 트리 자료구조 이다. HTML 문서의 계층적 구조와 정보를 표현하는 것은 물론 노드 객체의 종류에 따라 필요한 기능을 프로퍼티와 메서드의 집합인 DOM API 로 제공한다. 요소취득 document.getElementById( 'id' ) : 인수로 전달한 id 값을 갖는 하나의 요소 노드를 탐색하여 반환 document.getElementsByTagName( 'div' ) : 인수로 전달한 태그 이름을 갖는 모든 요소 노드들을 탐색하여 반환한다. 반환값은 여러개의 노드 객체를 갖는 DOM 컬렉션 객체인 HTMLCollection 객체를 반환한다. HTML.. 2020. 11. 25.
이터러블 이터러블 프로토콜을 준수한 객체를 이터러블 이라고 한다. 즉, 이터러블은 Symbol.iterator를 프로퍼티 키로 사용한 메서드를 직접 구현하거나 프로토타입 체인을 통해 상속받은 객체를 말한다. Symbol.iterator 메서드를 직접 구현하지 않거나 상속받지 않은 일반 객체는 이터러블 프로토콜을 준수한 이터러블이 아니다. 따라서 일반 객체는 for...of 문으로 순회할 수 없다. 이터러블 프로토콜 : Symbol.iterator를 프로퍼티 키로 사용한 메서드를 구현하거나 호출하면 이터레이터 프로토콜을 준수한 이터레이터를 반환한다. 이터러블 프로토콜을 준수한 객체를 이터러블 이라고 한다. for...of 문으로 순회가 가능하다. 이터레이터 프로토콜 : Symbol.iterator메서드를 호출하면 .. 2020. 11. 24.
Symbol 심벌은 ES6 에서 도입된 7번째 데이터 타입으로 변경 불가능한 원시 타입의 값이다. 심벌 값은 다른 값과 중복되지 않는 유일무이한 값이다. 따라서 주로 이름의 충돌 위험이 없는 유일한 프로퍼티 키를 만들기 위해 사용한다. Symbol 함수 심벌 값은 Symbol 함수를 호출하여 생성한다. 다른 원시값, 문자열 숫자 불리언 undefined null 타입의 값은 리터럴 표기값을 사용하여 값을 생성할 수 있지만 심벌값은 Symbol 함수를 호출하여 생성해야 한다. 심벌 값은 외부로 노출되지 않아 확인할 수 없으며 다른 값과 절대 중복되지 않는 유일무이한 값이다. 또한 new 키워드로 생성하지 않는다. Symbol 함수에는 선택적으로 문자열을 인수로 전달할 수 있는데 이 문자열은 생성된 심벌 값에 대한 설명.. 2020. 11. 24.
String 표준 빌트인 객체인 String 객체는 생성자 함수 객체다. new 연산자와 함께 호출하여 String 인스턴스를 생성할 수 있다. 문자열은 원시 값이므로 변경할 수 없다. 그리고 String 메서드는 원본 String 래퍼 객체를 직접 변경하는 메서드는 존재하지 않는다. 즉, String 객체의 메서드는 언제나 새로운 문자열을 반환한다. String.prototype.substring substring 메서드는 대상 문자열에서 첫 번째 인수로 전달받은 인덱스에 위치하는 문자부터 두 번째 인수로 전달받은 인덱스에 위치하는 문자의 바로 이전 문자까지의 부분 문자열을 반환한다. const str = 'Hello kpl'; str.substring(1, 4); // ell // 두번째 인수는 생략 가능하고, .. 2020. 11. 24.