배열인지 아닌지를 확인하는 메서드
true
or false
배열의 element를 추가 또는 삭제하는 메서드
elem
를 추가 (타입 그대로)elem
를 추가 (타입 그대로)배열이 특정 element를 포함하는지를 확인하는 메서드
배열의 일부분을 선택하여 새로운 배열을 만드는 메서드
배열에서 특정 범위의 값들을 추출하고, 그 자리에 새로운 값을 넣는 메서드
배열에 원소 또는 배열을 추가하여 새로운 배열을 만드는 메서드
배열의 요소들을 glue
를 접착제처럼 사용해 연결하여 하나의 문자열로 만드는 메서드
문자열을 구분자(delimiter) delim
을 기준으로 쪼개 배열로 변환
for of
는 string과 array, 유사배열 등에서 사용이 가능한 반복문입니다.for (let arr[i] of arr)
가 for (let i = 0; i < arr.length; i += 1)
과 같다고 생각하면 쉽습니다. 이후에 iterable object에 대해서 배우게 되면, for ~ of 문에 대해서 더 깊게 이해할 수 있습니다.for in
구문을 통해서 객체의 모든 key에 접근하고 출력할 수 있습니다.let member = { // 객체는 중괄호를 사용
firstName: 'Heeseung', // firstName은 key(키), 'Heeseung'은 value(값)
lastName: 'Lee', // key-value pair(키-값 쌍)은 쉼표(,)로 구분
age: 21, // value에는 다양한 타입이 들어갈 수 있다.
role: 'Main vocal',
};
obj.property
obj["property"]
obj[varWithKey]
같이 변수에서 키를 가져올 수 있다.프로퍼티를 삭제하고 싶을 때 - delete obj.prop
해당 key를 가진 프로퍼티가 객체 내에 있는지 확인하고자 할 때 - "key" in obj
프로퍼티를 나열할 때 - for (let key in obj)
Q. arr 라는 배열이 빈 배열인지 확인하는 알맞은 방법은?
A.arr.length === 0
오답Check :arr === []
(X)
[] === []
은false
라는 것에 대해서 이해할 수 있어야 틀린 이유를 알 수 있다. 자바스크립트 상에서는 두 배열을 "주소가 다른 두 개의 빈 배열"이라고 생각하기 때문. Primitive & Reference 체크포인트에서 이 내용은 더 자세하게 배우게 됩니다.
지금 비교하고 있는 두 빈 배열은 첨부된 사진의 두 빈 네모와 같습니다. 모양은 같지만, 위치는 다르죠? 이런 경우 자바스크립트는 같은 배열로 간주하지 않습니다.
Q. 다음 중 객체의 모든 key를 콘솔에 출력하기 위한 방법으로 옳은 것은?
// 정답 - for in 구문을 통해서 객체의 모든 key에 접근하고 출력할 수 있습니다. function allKeys(obj) { for (let key in obj) { console.log(key); } }
배열과 객체의 가장 큰 차이점은 순서의 유무입니다. 배열은 요소에 0부터 순차적으로 접근할 수 있지만 객체는 속성에 순서대로 접근하지 않고, key를 통해서 value에 접근합니다.
for of
는 string과 array, 유사배열 등에서 사용이 가능한 반복문입니다.
for (let arr[i] of arr)
가for (let i = 0; i < arr.length; i += 1)
과 같다고 생각하면 쉽습니다. 이후에 iterable object에 대해서 배우게 되면, for ~ of 문에 대해서 더 깊게 이해할 수 있습니다.