배열 → index로 접근, 순서가 있음. for of
객체 → key로 접근, for in
[] === []
→ false. 주소값이 다르기 때문에Array.isArray()
→ 배열인지 아닌지 확인하는 방법. 배열을 typeof
로 판별하면 object로 취급함.split('')
→ 빈 문자열로 split 하면 하나하나 쪼갠 것들을 배열로 반환해줌.arr.splice(제거시작 인덱스, 제거할 엘리먼트 갯수, 추가할 엘리먼트..)
unshift(), push()
→ 추가한 후 새 length를 리턴 / shift(), pop()
→ 제거한 후 그 요소를 리턴arr.slice(start, end)
→ start index는 포함, end index는 포함하지 않음.arr.slice()
→ 배열 전체 복사Object.keys()
→ 주어진 객체의 속성 이름들을 일반적인 반복문과 동일한 순서로 순회되는 열거할 수 있는 배열로 반환continue
→ 루프의 현재 반복에서 명령문의 실행을 종료하고 반복문의 처음으로 돌아가며 루프문의 다음 코드를 실행, break
는 반복문을 탈출해버리므로 차이가 있음.in
으로 조건문에서도 true나 false로 판별할 수 있다.for(let key in obj1){ // obj1의 key
if(!(key in obj2)){ // obj1의 key가 obj2에 있지 않다면
console.log('not exist');
}
}
// key in obj2로 obj2에 obj1의 key가 존재하면 true를 반환
// !을 통해 obj2에 obj1의 key가 존재하지 않으면 true가 되므로 -> 밑 console.log 실행