객체(Object)
객체란, 현실의 사물을 프로그래밍에 반영한 겁니다. 코드로 보는게 이해하기 쉽겠죠?
저를 프로그래밍에 반영해서 간단한 코드로 만들어보겠습니다!
1
2
3
4
|
var zero = {
firstName: 'Zero',
lastName: 'Cho'
};
|
cs |
짜잔, 간단하게 만들었습니다!(너무 간단한가요?) 이게 저를 자바스크립트로 구현한 것입니다. 위와 같이 zero라는 변수에 { }로 감싼 덩어리를 넣었습니다. 바로 이 덩어리가 저를 표현하는 객체입니다. 객체의 부분별 이름을 알려드리겠습니다.
속성(Property)
객체 안을 보면 firstName과 lastName이 왼쪽에 있고, 'Zero'와 'Cho'가 오른쪽에 있네요. 콤마로 구분되는 것들을 객체의 속성이라고 부릅니다. zero 객체에는 firstName: 'Zero'와 lastName: 'Cho'까지 두 개의 속성이 있는거죠. 속성끼리는 쉼표로 구분해줍니다. 위에서는 보기 좋게 줄 바꿈을 했지만, 꼭 줄바꿈을 해야하는 것은 아닙니다. var zero = { firstName: 'Zero', lastName: 'Cho' }; 처럼 쉼표로 구분되기만 하면 충분합니다.
저를 zero라는 객체로 표현했다고 했죠. 너무 간단한게 마음에 안 드나요? firstName, lastName 외에도 age, height, weight 등의 여러 가지 속성을 더 추가할 수 있겠죠? 자신을 직접 객체로 표현해보세요!
키(Key)와 값(Value)
속성에서 firstName과 lastName 같은 것들을 객체의 키라고 부르고 'Zero'와 'Cho'를 값이라고 부릅니다.(괄호 안의 영어는 외워두시는 게 좋습니다.) 즉, 속성은 키: 값의 관계로 이루어져있죠. 키는 속성명이라고 생각하시면 됩니다.
참고로 키는 문자열만 가능합니다. 또 한가지, 속성명은 따옴표가 없어도 됩니다. 있어도 상관은 없습니다. 위를 보시면 firstName과 lastName은 문자열인데도 따옴표로 안 감싸줬죠? 반드시 따옴표로 감싸줘야 하는 경우도 있습니다. 바로 키에 띄어쓰기가 들어간 경우입니다.
1
|
var wrap = { 'ex ample': 'wrap' };
|
cs |
위와 같은 경우, wrap 객체의 속성명은 'ex ample'입니다. 이렇게 속성명 안에 띄어쓰기가 들어있을 경우는 따옴표로 감싸줍니다.
속성값은 어떤 값이든지 상관없습니다. 문자열이어도 되고, 숫자여도 되고, 객체여도 됩니다. 아직 안 배웠지만, 객체나 함수여도 상관 없습니다. 미리 알려드리자면, 속성값이 함수인 것을 우리는 메소드라고 특별히 따로 부릅니다.
'Programing > JavaScript' 카테고리의 다른 글
[JavaScript] 화살표 함수(Arrow Functions) (0) | 2019.01.28 |
---|---|
[JavaScript] 배열 유용 Array.prototype.forEach() // Array.prototype.map() // Array.prototype.reduce() // Array.prototype.join() (0) | 2019.01.27 |
[JavaScript] Object Length 구하기 (0) | 2019.01.26 |
[JavaScript] Array.prototype.sort() (0) | 2019.01.25 |
[JavaScript] 최댓값/최솟값 구하기 (2) | 2019.01.25 |