배열
Array.isArray()
변수, 데이터, 또는 특정 값이 배열인지 아닌지 판별할 수 있다.
자바스크립트 immutability / mutability
원본을 변경하는 메소드는 mutation
변경하지 않는 것이 immutation
배열과 객체의 구조를 이해하고 언제, 어떻게 사용하는지 이해할 수 있다.
배열은 순서, 객체는 키벨류 값을 가질때(의미를 가질때)
객체
객체 속성 조회
'content' in tweet; // boolean
// dot notation
tweet.key;
// bracket notation
let foo = 'key';
tweet['key'];
tweet[foo];
객체 속성 추가 및 값의 할당
tweet.content와 tweet['content']의 차이 => key값이 동적으로 변할때 브라켓노테이션으로 써야한다.
// dot natation 이용
tweet.key = 'value';
// bracket notation 이용
tweet['key'] = 'value';
// 객체 속성이 동적인 경우
let country = ['Korea', 'China', 'Japan', 'USA'];
for (let i = 0; i < country; i++ {
let key = country[i]; // 변수 key는 동적으로 변화한다
tweet[key] = 'value';
}
객체 속성 삭제
객체 속성 삭제를 위한 delete 키워드를 사용할 수 있다.
// tweet 객체의 프로퍼티네임 속성을 삭제
delete tweet.propertyName
배열에 for ... in을 사용하면 안돼는 이유
배열 인덱스는 정수로 된 열거 가능한 속성이며, 일반적인 객체의 속성들과 같다.
for...in은 특정 순서에 따라 인덱스를 반환하는 것을 보장할 수 없다. for...in반복문은 정수가 아닌 이름을 가진 속성, 상속된 모든 열거 가능한 속성들을 반환한다. 반복되는 순서는 구현에 따라 다르기 때문에(할당해준 순서로 반복된다), 배열의 반복이 일관된 순서로 요소를 방문하지 못할 수도 있다.
방문의 순서가 중요한 배열의 반복시에는 숫자 인덱스를 사용할 수 있는 for 반복문을 사용하는 것이 좋다.(Array.prototype.forEach(), for...of를 권장)
'프로그래밍 공부 > Javascript' 카테고리의 다른 글
this / TIL 14일차 (0) | 2021.09.09 |
---|---|
원시/참조 자료형 ,스코프, 클로저 / TIL 13일차 (0) | 2021.09.08 |
계산기 구현 / TIL 7일차 (0) | 2021.08.31 |
TIL 6일차 2021.08.30 (0) | 2021.08.30 |
TIL 5일차 2021.08.27 (0) | 2021.08.27 |