// 1. 리터럴로 객체 생성하기
let object = {
    name : "Chris",
    age : 20,
    address : function() {
    	return Seoul;
    }
};

// 2. new 연산자로 객체 생성하기
let object = new Object();

// 3. Object.create() 메소드로 생성하기
let object = Object.create({}, {
    name : {
        value : 'Chris'
    },
    age : {
        value : 20
    }
});


object['weight'] = 50;		// 객체에 삽입하기

console.log(object.age);
console.log(object['age']);
> 20

console.log(object.address());	// 객체내의 함수(메소드) 호출
> Seoul

중괄호{}를 사용하며 key값을 이용하여 value값을 불러옴.

:(클롱)으로 key값과 value 값을 구분함

각 값들을 구분해줄때 ,(comma)를 빠뜨리면 안됨!!

폴더와 같은 역할을 함.

JSON과 형태가 똑같음

도트접근자를 이용해 value값을 얻음

ex) console.log 메소드는 console이라는 객체안에 log라는 key값을 이용해 function을 불러오는 것임.

ex) calculator 객체 안에 plus, minus, multiply, divide 라는 key를 설정함.

const calculator = {
  plus : function (a, b){
    return (a+b);
  },

  minus : function (a, b){
    return (a-b);
  },

  multiply : function (a, b){
    return (a*b);
  },

  divide : function (a, b){
    return (a/b);
  }
 }

● new

function func(){}

const obj1 = func();		// 함수
const obj2 = new func();	// 생성자

obj1는 함수 func();를 할당받는다

obj2는 함수 func();를 new라는 연산자와 함께 사용했기에 func();가 생성자로 바뀌어 실행된다. 생성자는 비어있는 객체{}를 만들며 obj2는 객체가 된다.

Javascript에서는 함수를 Java의 Class처럼 사용한다.