객체 (Object) JS 데이터 Type은 크게 원시타입 (Primitive type) || 객체타입 (Object type) 분류 됨 - 원시타입은 단 하나의 값 만을 나타내고, 변경이 불가능 한 값 - 객체타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적 자료구조, 타입 값 변경 가능
JS는 객체(Object) 기반의 프로그래밍 언어이고, 모든 것은 객체로 구성되어 있음
객체는 0개 이상의 Property로 구성된 집합이며, 하나의 Property는 'Key' & 'Value'로
구성됨
객체 리터럴
리터럴(Literal)은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는
'표기법'이다.
객체 리터럴은 객체를 생성하기 위한 표기법
객체를 생성하기 위해 Class를 먼저 선언하고, 'new' 연산자와 함께 생성자를 호출할 필요가 없이
일반적인 숫자, 문자열을 만드는것과 유사하게 객체를 생성할 수 있음
객체 리터럴로 객체 생성하기
- {} 내에 0개 이상의 property를 정의하여 선언한다. ```JavaScript let objectLiteral = {
key : 'Value',
helloWorld : function () {
return "Hello world";
} }; ``` #### Property
객체의 상태를 나타내는 값(data)
'key':'value' 로 구성됨 ```JavaScript const human = {
name : 'Daniel', property key : 'name', property value : 'Daniel'
'huamn age' : 34 property key : 'human age', property value : 34 } ```
메서드(Method)
proterty를 참조하고 조작할 수 있는 '동작(behavior)'을 나타낸다.
object property value 가 함수 function 이면 Method 라고 부른다. ```JavaScript let objetLiteral = {
key : 'Value', <<<< property
helloWorld : function () { <<<<<< Method
return "Hello world";
} };
console.log(objetLiteral.helloWorld()); »»> Hello world console.log(typeof objetLiteral.helloWorld()); »» type string
ex. 객체 리터럴을 활용 사칙연산 객체 작성
```JavaScript
const calculator = {
add: function (a,b) {return a+b}, key : method () {}
sub: function (a,b) {return a-b},
mul: function (a,b) {return a*b},
div: function (a,b) {return a/b}
};