본문 바로가기
자료구조,알고리즘/Java Script 기초

JS기초 4 : method, this

by 슈퍼 루키 2022. 7. 19.

함수 저장

- 배열의 요소(element) 혹은 객체의 속성(property)에 함수를 정의하여 저장 가능

let list = [
  "john", 
  27, 
  function hello_func() {
  console.log("hello");
  }
];

let obj = {
  nmae : "john",
  age : 26,
  hello_func() {
    console.log("hello");
  }
};

function hello_func() {
  console.log("hello")
};

hello_func(); // hello 함수를 호출할 때는 매개 변수까지
obj.hello_func(); // hello
list[2](); // hello

 

method

- 객체에 저장된 값이 함수인 경우, 메서드(method)라고 부름

- 객체는 함수가 있는 주소값을 저장하게 되므로 주소 내의 가리키는 함수를 변경할 수도 있음

 

method 변경

- 객체 내 초기 선언된 함수를 다른 함수로 변경

function hello_func() { 
  console.log("hello")
};

function Bye_func() { 
  console.log("Bye")
};

let obj = {
  name : "John",
  age : 25,
  func : hello_func,
};

hello_func(); // hello
obj.func(); // hello

obj.func = Bye_func;
obj.func(); // Bye

 

this

- 메서드에서 객체 내부의 속성(property) 값을 접근할 수 있는 지시자

let user = { name: "John"};
let admin = { name: "admin"};

function hello_func() {
  console.log("hello "+ this.name);
}

user.func = hello_func;
admin.func = hello_func;

user.func(); // hello John
admin.func(); // hello admin

user["func"](); // hello John
admin["func"](); // hello admin

 

반응형

댓글