함수로 넘어온 모든 인수에 접근 가능
함수 내에서 이용 가능한 지역 변수
length/index
Array 형태의 객체
length와 index가 있어서 배열로 생각할 수 있지만 Array 형태의 객체다.
정해지지 않은 개수의 인수를 배열로 나타낼 수 있게 한다.
생성자 함수는 첫 글자는 대문자로!
나머지 매개변수는 항상 마지막에 있어야 한다!
결과값을 보면 배열로 나타나는 것을 볼 수 있다.
[...arr] = 새로운 배열에 arr을 복사해온다.
주로 배열을 풀어서 인자로 전달하거나, 배열을 풀어서 각각의 요소로 넣을 때에 사용.
Spread는 복사를 하는 것이기 때문에 원본이 바뀌지 않는다.
더 깊게 만들어 보면
연관되어 있는 데이터를 담기 위한 그릇. 배열과 유사하다.
배열 = [ ]
객체 = { }
object(변수)['key'] - 일반배열 및 객체배열 모두 불러올 수 있다
object(변수).key - 객체배열은 불러올 수 없다(순서가 없어서)
Object[key]()
객체지향이란 하나의 그릇 안에 그룹핑
객체에는 객체를 담을수도 있고 함수를 담을수도 있다.
equal = 주소값을 비교한다
deep.equal = 안에 요소를 비교한다
객체는 length를 쓸 수 없다(순서가 없기 때문에)
얇은복사 - 주소값만 복사
깊은복사 - 값 자체를 복사한다. 주소값은 다르다
const spread=[1,2,3][...spread] <- 키값 자체를 복사하지만, 주소값은 다르다.
true는 숫자 1
false는 숫자 0
Object.assign(생성할 객체, 복사할 객체)
참조자료형을 비교했을 때, 주소값이 같다면 같은 것으로 되지만 주소값이 다르다면 같지 않다.
지역변수로 선언한 let, const 등은 바깥쪽에서 호출할 수 없다.
Object.keys() 는 전달된 객체에서 직접 찾은 열거할 수 있는 속성 이름에 해당하는 문자열 배열을 반환합니다. 속성 이름의 순서는 객체의 속성을 수동으로 반복하여 지정하는 것과 동일합니다.
그래서 객체배열의 경우 길이를 알고싶을 때 Object.keys().length를 사용한다
오늘 Pair가 역대급으로 창피하고 너무 속상한 하루였다.
진짜 지금까지 뭐했나 싶었다.
너무 기죽는다.
사람들과 비교하면 너무 힘들지만 스스로 내 위치를 알고 이겨내자.
하아.. 너무 힘들긴하다