w3schools.JS Objects Methods

# JS Object Methods


아래 예시 중 JS의 this 키워드는 person 객체를 가리킨다. fullNameperson객체의 메서드 이기 때문이다.

const person = {
  firstName: "John",
  lastName: "Doe",
  id: 5566,
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
};

## What is this?


JS에서 this 키워드는 어떠한 객체를 가리킨다. 호출되는(또는 사용되는) 객체에 따라 다르다. this 키워드는 사용 방법에 따라 다른 객체를 참조한다.

  • 객체 메서드 안에 있으면, this는 해당 객체를 가리킨다.
  • 그냥 존재한다면, thisglobal 객체를 가리킨다.
  • 함수 안에 있으면, thisglobal 객체를 가리킨다.
  • 함수 안에 있으면, 동시에 strict mode면, thisundefined다.
  • 이벤트 안에 있으면, this는 이벤트를 받은 요소를 가리킨다.
  • call(), apply(), bind()와 같은 메서드는 모든 객체에 this를 가리킬 수 있다.

this는 변수가 아니다. 이것은 키워드로 this의 값을 변경할 수 없다.
JS THis Tutorial 참조

## JavaScript Methods


JS 메서드는 객체에 대해 수행할 수 있는 작업이다. JS 메서드함수 정의를 포함하는 속성이다.

PropertyValue
firstNameJohn
lastNameDoe
age50
eyeColorblue
fullNamefunction() {return this.firstName + " " + this.lastName;}

메서드는 객체 속성으로 저장된 함수다.

## Accessing Object Methods


다음과 같은 문법으로 객체 메서드에 접근 가능하다.
objectName.nethodName()
일반적으로 fullName()을 person 객체의 메서드로 설명하고 fullName을 속성으로 설명한다.

fullName 속성은 ()와 함께 호출될 때 (함수로) 실행된다.

아래 예시와 같이 person 객체의 fullName() 메서드에 접근한다.

name = person.fullName();

만약 fullName 속성에 접근원하면, ()를 제외시켜 함수 속성에 접근 할 수 있다.

name = person.fullName;

Adding a Method to an Object

객체에 메서드를 추가하는 것은 쉽다.
<객체명>.<원하는 메서드명> = <원하는 함수>

person.name = function () {
  return this.firstName + " " + this.lastName;
};

## Using Built-In Methods


아래 예시는 문자를 대문자로 변경하기 위해, 문자열 객체의 toUpperCase()메서드를 사용했다.

let message = "Hello world!";
let x = message.toUpperCase();
// 결과 HELLO WORLD!

좋은 웹페이지 즐겨찾기