[JavaScript] JS_ 5.Object & Array

jungeundelilahLEE·2020년 10월 19일
0

# INDEX

1. Values & Data type
2. Operators
3. Control flow
4. Scope & Hoisting
5. Object & Array

6. This
7. Prototype & Inheritance
8. Function
9. Callback function
10. Closuer
11. Class
12. Others

5. Object & Array

5-1. Array

참조값에 대한 정리!

// ex) 
const arr = ["zero", "one", "two", "three", "four", "five"];
console.log(arr);	// ["zero", "one", "two", "three", "four", "five"]

const assign = arr; 	// assign이라는 변수에 값으로 arr이라는 배열(reference값)을 할당해줌
			// 예를들면, 위의 arr에서 "별표 모양의 키"만 arr의 방에 들어갈 수 있었는데, assign에게도 "별표 모양의 키"를 주면서 같은 방에 들어갈 수 있는 키를 복사해 준 것
assign[5] = "changed st"; // "별표 모양의 키"로 맞는 방을 따고 들어가 본래 arr[5]의 요소를 변경 ("five" -> "changed st")
console.log(assign);	// ["zero", "one", "two", "three", "four", "changed st"]
			// 따라서, 위와 같이 요소값이 변경됨
consloe.log(arr); 	// ["zero", "one", "two", "three", "four", "changed st"]
			// 역시, 마찬가지로 같은 이유로 변경됨 
console.log(arr[5]);	// ["changed st"]

arr.slice(begin, end)

<immutable>
: 어떤 배열의 begin부터 end까지(end 미포함)의 복사본을 새로운 배열 객체로 반환

  • 음수 인덱스 : 배열의 끝에서부터의 길이를 나타냄
  • begin이 undefined : 0번 인덱스부터 slice
  • begin이 배열의 길이보다 큰 경우 : 빈배열 반환
  • end 생략시 : 배열의 끝까지 추출

// ex) 
let arr = ["apple", "banana", "kiwi", "grape"];

arr.slice(-1);		// ["grape"]
arr.slice(1, -2)	// ["banana"]
arr.slice(2, 2);	// []
arr.slice(3, 0);	// []
arr.slice(3, 100);	// ["grape"]
arr.slice(5, 1); 	// []
arr.slice(0); 		// ["apple", "banana", "kiwi", "grape"] 
			// 배열 전체를 복사 (자주 사용됨!)

object

obj.length = undefined

Spread Syntax (전개문법)

  • 배열 : ...
  • 빈 배열에 전개문법을 사용할 경우 : 아무것도 전달되지 않음

Rest Parameter는 함수의 인자를 배열로 다룰 수 있게 합니다

rest parameter

profile
delilah's journey

0개의 댓글