항해14기 본과정/항해14기 개발일지

[항해 14기] 개발일지2 (JS기본)

스쿼트잘함 2023. 4. 23. 02:13

JS 복습

 

1. 화살표함수

- 바인딩 생략

- 한줄이면 중괄호 생략 가능

 

 

2. 객체

- key + value pair(value에 대부분의 값들 입력 가능)
let person = {
  name: "홍길동",
  age: 30,
  gender: "남자",
};


- 생성자 함수
function Person(name, age, gender) {
  this.name = name;
  this.age = age;
  this.gender = gender;
}
let person1 = new Person("홍길동", 30, "남자");

- key값 접근방법
person.name

- 객체 메소드
let keys = Object.keys(person);
let values = Object.values(person);
let entries = Object.entries(person);

 

- 복사 방식 중 하나

let newPerson = {};
Object.assign(newPerson, person); // 객체복사
let newPerson2 = {};
Object.assign(newPerson, person, { age: 31 });

- 객체비교
같은객체 a와 b를 === 비교하면 false로나옴, 객체는 크기가커서 다른 메모리주소에 할당됨
JSON.stringify로 문자열화 시켜주면 비교가능

- 객체병합 (spread operator : 객체안에있는 값들을 풀어서 재구성)
let x = {
  name: "홍길동",
};
let y = {
  age: 30,
  gender: "남자",
};
let perfect = { ...x, ...y };

 

 

3. 배열

- 크기지정 let number = new Array(5);
- 요소접근 array[], 요소 추가push
- pop 마지막요소 제거, shift 첫번째요소 제거
- unshift 첫번째에 요소 추가
- array.splice(start[, deleteCount[, item1[, item2[, ...]]]]) 시작인덱스,제거카운트,추가요소(미기입 시 삭제만)

- slice

- forEach :  주어진 함수를 배열의 각 요소마다 실행. 값을 반환하지 않음

- map : 주어진 함수를 배열의 각 요소마다 실행하고 새로운 배열 반환. 각 요소에 대해 적용된 함수의 반환값이 새로운 배열의 요소로 리턴

- filter : 주어진 함수를 배열의 각 요소마다 실행, 해당 함수의 반환값이 true인 요소들을 새로운 배열로 반환
- find 조건에서 첫번째 값만 반환