slice() VS splice()

slice, splice는 배열을 특정 범위로 자르는 메소드들이다.

slice : start, end를 이용해 범위를 특정하고 그 범위 내의 값들을 가진 새로운 배열을 생성 및 반환한다.

Use : Array이름.slice(1, 2) ⇒ 1번 요소 삭제

splice : start, deleteCount, item을 이용해 시작 범위를 정하고, deleteCount만큼 값을 제거한 뒤, item을 추가한다.

Use : Array이름.splice(2, 4, 5) ⇒ 2번 요소의 다음인 3번 요소부터 4개를 제거하고 삭제된 자리에 5 추가

⭐ slice는 새로운 배열을 생성, splice는 원본 배열 자체를 변경한다.

SyntaxError : 문법적으로 유효하지 않은 코드를 해석하려고 시도할 때 발생하는 오류


객체 추가 정리

1. 빈 객체 생성

let myProfile = new Object(); //빈 객체 생성
myProfile.firstName = "김";
myProfile["secondName"] = "준표";

let myProfile = {}; //빈 객체 생성

2. hasOwnProperty()

prototype 속성으로 생성된 키를 제외하고 객체 스스로가 만들어낸 키들 중에 존재하는지의 여부 판단

let obj = {
	a : 1,
};

obj.b = 2;
Object.prototype.c = 3; // 모든 객체에 c = 3 이라는 키-값이 생성됨

obj.hasOwnProperty("a") // true
obj.hasOwnProperty("b") // true
obj.hasOwnProperty("c") // false - prototype으로 생성되어서 false 반환

3. prototype 객체(나중에 OOP에서 자세히 공부)

4. for in

let obj = {a:1, b:2, c:3};

for(let i in obj){
	console.log(i); // a, b, c가 한 줄에 하나씩 차례대로 출력
}

5. 객체 원본 데이터 변경