TIL
- 오늘 할 분량
PART.3 배열과 메서드 이어서 하기
- 강의 시청 후 알게 된 내용
slice 는 splice 와 비슷하지만 훨씬 간단함
slice( start, end) 는 start 인덱스부터 end 인덱스 (end를 제외한) 를 복사하여 반환.

마지막 인덱스까지 포함시키고 싶으면 end 인덱스를 적지않거나 end 인덱스 +1 을 하면 되는데 안적는게 좋음.
concat은 기존 배열의 요소를 사용해 새로운 배열을 만들거나 기존 배열에 요소를 추가할 수 있음.

이런 유사배열객체를 concat이 배열취급을 할려면 Symbol.isConcatSpreadable 이 있어야함.
원하는것은 0:"something을 더하는 것이므로 0:"something과 length : 1 사이에 [Symbol.isConcatSpreadable]: true, 를 넣으면 배열로 인식을 하고 1,2,3 뒤에 something이 출력되는것을 볼수있음.

배열 탐색
array.indexOf(x, y) 는 인덱스 x 부터 시작해 y(요소)를 찾음. 요소를 발견하면 해당 요소의 인덱스를 반환함. 못찾으면 -1을 반환
array.lastIndexOf(x, y)는 위 메서드와 같은 기능을 하는데 검색을 끝에서 함.
array.includes(x, y) 는 인덱스 x부터 시작해 y를 있는지 찾는데 있으면 true값을 없으면 false 값을 반환함.
특정 조건에 부합하는 객체를 배열내에서 찾는 방법은 array.find(fn)
array.find(function(item, index, array) {} 에서 item 은 요소, index는 요소의 인덱스, array는 배열 자기자신 인데 index와 array는 잘 사용되지 않음
array.findindex(fn)도 find와 비슷한 일을 하나 요소의 인덱스를 반환한다는 점에서 다름. 없으면 -1을 반환함.

filter 메서드
find 메서드는 함수의 반환값을 true로 만드는 단 하나의 요소를 찾음.
조건을 만족하는 요소가 여러개라면 filter 메서드를 활용
array.map은 유용성과 사용빈도가 아주 높은 메서드 중에 하나.
map은 배열요소 전체를 대상으로 함수를 호출하고, 함수 호출 결과를 배열로 반환.
array.isarray로 배열인지 아닌지 알아낼수있음.
자바스크립트에서 배열은 독립된 자료형으로 취급하지않고 객체형에 속함.
그러므로 typeof로는 일반객체와 배열을 구분할수가 없는데, Array.isArray(value) 를 사용하면 value 값이 배열이라면 true를, 아니라면 false를 반환함.
- 복습 후 헷갈리거나 몰랐던 내용
concat도 추가하는거고 splice도 추가하는건데 왜 두개가 나눠져 있는지 모르겠음. 공부끝나고 알아보기.
let 은 변수 const는 상수
간단하게 보면 let은 언제든지 바꿀수있는값에 사용하고 const는 바꾸면 안되는 값에 사용.
find 메서드중 하나를 띄우는 법은 알겠는데 위에 사진첨부에서 name과 age를 동시에 출력할려면 어떻게 해야하는지 알아보기.