자바스크립트를 이루고 있는 거의 모든 것이 객체다. 그리고 그 객체는 데이터를 의미하는 프로퍼티와 동작을 의미하는 메소드로 구성된 집합이다.
프로퍼티와 메소드에 대한 쉽고 재미있는 비유가 있어 첨부한다.
쌀과 콩이 객체라면
각 객체가 가진 고유의 색은 프로퍼티가 된다.
그리고 먹는 행위는 메소드가 된다.
출처: discuss.codecademy.com/t/what-does-it-mean-by-an-instance-of-a-data-type/489754/9
프로퍼티 키가 유효한 자바스크립트 이름이고 예약어인가? |
---|
Y - 두 표기법 모두 사용 가능 |
N - 대괄호 표기법만 사용 가능 |
var person = {
'first-name': 'Minsu',
'last-name': 'Lee',
gender: 'male',
1: 10
};
console.log(person);
console.log(person.first-name); // NaN: undefined-undefined
console.log(person[first-name]); // ReferenceError: first is not defined
console.log(person['first-name']); // 'Minsu'
console.log(person.gender); // 'male'
console.log(person[gender]); // ReferenceError: gender is not defined
console.log(person['gender']); // 'male'
console.log(person['1']); // 10
console.log(person[1]); // 10 : person[1] -> person['1']
console.log(person.1); // SyntaxError
아래 방식으로 메소드를 호출, 사용할 수 있습니다.
마침표(dot operator)
메소드의 이름
괄호
'example string'.methodName()
console.log()