자바스크립트의 객체란 키(key)와 값(value)으로 구성된 프로퍼티(property)의 집합이다.
프로퍼티의 값으로 함수가 올 수도 있는데, 이러한 프로퍼티를 메소드(method)라고 한다.
즉 객체는 결국 케이스를 이루는 말이고 실제 객체를 완성하는 구성 요소들은 데이터를 의미하는 프로퍼티와 데이터를 참조하고 조작할 수 있는 동작을 의미하는메소드이다.
프로퍼티는 프로퍼티 키로 식별할 수 있다. 즉, 키는 프로퍼티를 식별하기 위한 식별자(identifier) 이다.
일련의 동작을 실행한다는 점에서 흔히 함수와 헷갈리는 개념이다. 하지만 메서드와 함수는 엄연히 다르다.
메서드를 수행하기 위해서는 객체를 통해서 해당 메서드를 수행하여야 한다.
즉, 함수는 개발자가 직접 관여하여 호출 주체 없이 실행되는 독립적인 기능이고 메소드는 객체에 속한 프로퍼티로서 호출되는 함수를 말한다.
let foo={};
foo.a=1;
foo.b=2;
foo.sum=function() {console.log(foo.a+foo.b);};
foo.sum();
// 3