-
[Javascript] 모던자바스크립트 딥 다이브 6일차 (~753p)웹/JavaScript 2023. 1. 27. 08:47
35. 스프레드 문법
배열 리터럴 내부에서 사용하는 경우
1. concat
es5에서 2개의 배열을 1개의 배열로 결합하고 싶은 경우
배열 리터럴만으로 해결할 수 없고 concat 메서드를 사용해야 한다.
arr.concat([3,4])
2. splice
const arr = [1,2] const arr2 = [3,4] arr.splice(2,0,arr2) //[1,2,[3,4]]
3. 스프레드 문법
const arr = [1,2] const arr2 = [3,4] arr.splice(2,0,...arr2) // [1,2,3,4]
단, 유사 배열 객체는 문법의 대상이 될 수 없다.
const object1 = { 0 : 1, 1 : 2, length : 2 }; const arr = [...object1] // 타입에러
객체 디스터럭처링 할당
es5에서 객체의각 프로퍼티를 객체로부터 디스트럭처링하여 변수에 할당하기 위해서 프로퍼티 키를 사용해야 한다.
var users = { id:'kook', pw : '1234'} const {pw,id} = users;
반드시 프로퍼티 키를 { 중괄호 }에 감싸서 디스트럭처링 할당 해야 한다.
객체에서 length 프로퍼티 추출하고 싶을때는 아래와 같이 선언하면 된다.
const {length } = "string" length // 6
중첩 객체의 경우 프로퍼티 키를 객체로 추출해서 사용한다.
1. 프로퍼티 키로 값 할당 const {city } = users.adress city // 'seoul' 2. 디스터럭처링 할당시 키 선언 const {adress:{code}} = users code //'000'
37. Set과 Map
set의 정의
set 객체는 중복되지 않는 유일한 값들의 집합.
//1. 생성 new Set const set = new Set([1,2,3]) //{1, 2, 3} //2. 개수 .size set.size //3 //3. 추가 .add(1) : 1개씩 가능 set.add('3') //4. 존재 .has(2) set.has(2) //5. 삭제 .delete(1) set.delete(1) //6. 초기화 .clear() set.clear() // undefinced //7. for .forEach() for ... of 단, 순서 상관없어 인덱스가 없다. //8. 교집합 .intersection set.intersection.setB //9. 합집합 .union set.union(setB) //10. 차집합 .difference set.difference(setB) //11. 상위집합 .isSupperset set.isSupperset(setB)
Map의 정의
map 객체는 키와 값의 쌍으로 이루어진 컬렉션이다. 객체와 유사하지만 이터러블이다.
//1.생성 new Map() const map = new Map(); //2.개수 .size map.size //3. 추가 .set(키,value) map.set('key','value') //4. 추출 .get(키) map.get('key') //5. 존재 .has(키) map.has('key') //6. 삭제 .delete map.delete('key') //7. 초기화 .clear map.clear //8. 순회 .forEach & for ... of map.keys() map.values() map.entries()
38. 브라우저 렌더링 과정
urI 구성
39. DOM
HTML 요소의 구조
시작태그, 어트리뷰트명, 어트리뷰트값, 콘텐츠, 종료태그
textContent
textContent 프로퍼티는 요소 노드의 텍스트와 모든 자손 노드의 텍스트를 모두 취득하거나 변경한다.
참고로 유사한 동작을 하는 innerText 프로퍼티는 다음과 같은 이유로 사용하지 않는 것이 좋다.
1. innerText 프로퍼티는 CSS에 순종적이다.
2. innerText 프로퍼티는 CSS를 고려하여 느리다.클래스 조작 - toggle
toggle 메서드는 class 어트리뷰트에 인수로 전달한 문자열과
일치하는 클래스가 존재하면 제거하고 존재하지 않으면 추가한다.
'웹 > JavaScript' 카테고리의 다른 글
[이펙티브 타입스크립트] 3장 타입 추론 (1) (0) 2023.06.12 [Javascript] 모던자바스크립트 딥 다이브 7일차 (완독) (0) 2023.01.31 [Javascript] 모던자바스크립트 딥 다이브 5일차 (~613p) (0) 2023.01.26 [Javascript] 모던자바스크립트 딥 다이브 4일차 (~551p) (0) 2023.01.25 [Javascript] 모던자바스크립트 딥 다이브 3일차 (~416p) (0) 2023.01.23