- 객체는 { key1: value1, key2: value2, key3:value3 }와 같이 정의합니다. 이때, key와 value쌍을 묶어서 속성(Property)라고 부르고, key는 Property Name, value는 Property value라고도 부릅니다.
- Property Name은 문자열 타입인데, ''를 생략하더라도 JS가 암묵적으로 문자열로 변환해줍니다. 그리고 Property Name은 첫 번째 글자는 반드시 문자, 밑줄(_), 달러 기호($) 중 하나로 시작해야 하며, 띄어쓰기와 하이픈(-)은 사용할 수 없습니다. 이러한 규칙을 벗어난다면 반드시 ' '로 묶어줘야 합니다.
ex) { 'brand Name' : '코드잇', 'born-Year' : 2017, isVeryNice: true }
- Property value는 모든 자료형이 올 수 있으며, 객체가 올 수도 있습니다.
- 객체의 Property에 접근하는 방법은 점 표기법(objectName.PropertyName)과 대괄호 표기법(objectName['PropertyName']) 2가지가 있습니다.
점 표기법으로 접근이 불가능한 경우(ex 띄어쓰기)에 대괄호 표기법을 사용하면 됩니다.
- 객체안의 객체는 점 표기법 또는 대괄호 표기법으로 연속적으로 접근하면 됩니다.
- 존재하지 않는 Property에 접근하려하면 에러가 나지 않고, undefined가 반환됩니다.
- 객체의 Property를 수정하는 법은 해당 Property에 접근해서 새로운 값을 할당해주면 됩니다.
ex) codeit.name='codeit'
- 객체의 새로운 Property를 추가하는 법은 codeit.ceo='강영훈'과 같이 새로 할당해주면 됩니다.
- 객체의 Property를 삭제하는 법은 delete codeit.worstCourse;와 같이 delete 키워드를 사용하면 됩니다.
- in 연산자를 통해 객체의 Property가 존재하는 지 확인할 수 있습니다.
ex) if( 'name' in codeit )
- 객체의 Property value에는 어떠한 자료형도 올 수 있으므로 함수를 가질수도 있습니다. 이러한 함수를 객체의 메소드라 합니다. 함수 이름은 Property Name에만 적어주고, 뒤의 정의부분에서는 생략합니다. 이때, 함수는 점표기법 또는 대괄호 표기법을 통해 호출할 수 있습니다. 주로 점 표기법을 이용합니다.
ex) greetings.sayHello('Codeit') 또는 greetings['sayHello']('Codeit')
- for...in 반복문을 통해 변수에 객체의 Property Name을 순차적으로 할당할 수 있습니다.
for(변수 in 객체){ 동작부분; }
- 객체는 정수형 프로퍼티 네임을 오름차순으로 먼저 정렬하고, 나머지 프로퍼티들은 추가한 순서대로 정렬하는 특징이 있습니다. 따라서 일반적으로 정수형 프로퍼티는 잘 사용되지 않습니다.
- console객체와 같이 JS가 이미 가지고 있는 객체를 내장 객체라 합니다. 그 중 대표적인 객체로 Date객체가 있습니다.
ex) let myDate = new Date('2017-05-18T19:11:16');
- Date객체에서 month는 0부터 시작함을 주의해야 합니다.
- getTime()메소드는 1970년 기준 몇 밀리초가 지났는지 출력해줍니다.
'웹개발 > JavaScript' 카테고리의 다른 글
| [CodeIt] 프로그래밍 시작하기 in JavaScript 토픽3(자료형 심화) (0) | 2021.02.08 |
|---|---|
| [CodeIt] 프로그래밍 시작하기 in JavaScript 토픽3(배열) (0) | 2021.02.07 |
| [CodeIt] 프로그래밍 시작하기 in JavaScript 토픽2(제어문) (0) | 2021.02.07 |
| [CodeIt] 프로그래밍 시작하기 in JavaScript 토픽2(추상화) (0) | 2021.02.07 |
| [CodeIt] 프로그래밍 시작하기 in JavaScript 토픽2(자료형) (0) | 2021.02.06 |