728x90
메서드란 한마디로 표현하면,
객체가 가지고 있는 함수(객체 안에 있는 함수)
이다
자바스크립트에서는 일반적으로 함수와 메서드의 기능적인 차이는 없다.
그 때문에 둘 다 함수라고 한다.
그렇지만 읽는 방법을 구별하는 것이 알기 쉽기 때문에
객체가 프로퍼티로 가지고 있는 함수를 특별히 메서드라고 한다.
(근대 이렇게 나눠 놓으니까 뭔가 더 헷갈리는 것 같다.)
함수: 어떤 일련의 과정을 1개의 처리로 정리해서 여러 곳에서 쓸 수 있도록 한 기능
메서드: 객체가 프로퍼티로서 가지고 있는 함수(위의 함수를 가지고 있음)
객체의 프로퍼티
메서드의 사용법을 알기 전에 객체의 프로퍼티에 대해 간단히 알아보면
객체는 키(key)와 값(value) 쌍으로 이루어진 프로퍼티를 가진다.
프로퍼티는 한 마디로 속성이라고 생각하면 된다.
const obj = { //객체
key: value
};
메서드의 정의
객체는 일반적으로 프로퍼티와 같은 형식의 메서드(함수)를 가질 수 있다.
키(key)에 메서드명 을 지정하고, 값(value)에 함수를 정의한다..
const obj = {
methodA : function() {
...
},
} ,
//화살표함수도 가능
methodB: () => {
...
}
};
또는 미리 메서드를 정의하지 않고
빈 객체를 정의한 후 메서드를 정의하는 것도 가능하다.
const obj = {};
obj.methodA = function() {};
obj.methodB = () => {};
원래 작성되어 있던 객체에 , 후에 메서드를 추가할 수도 있다.
const user = {
id: 1,
name: ‘john’,
age: 21
};
// user 객체에 sayHi메서드를 추가
user.sayHi = function() {
console.log(‘Hello’)
}
메서드의 호출
정의한 메서드는 객체.메서드명() 과 같이 호출할 수 있다.
const user = {
id: 1,
name: 'John',
age: 25
};
user.sayHi = function() {
console.log('Hello');
};
//메서드의 호출
user.sayHi(); // "Hello"
728x90