[JavaScript] method

Parkboss·2022년 3월 15일
0

JavaScript

목록 보기
14/29
post-thumbnail

함수의 표현

  • 다양한 방법으로 함수 정의가 가능하며, 함수 표현식처럼 함수를 정의하여 변수에 저장 가능

1. add_1의 식별자가 어떤 값이 저장되는지 확인하기 위해서
const add_4 = add_1; 코드를 입력했다.
2. 선언된 add_1 함수 이름으로 변수 혹은 상수를 넣어서 주솟값을 복사해서 접근할 수 있다.
3. console.log( add_1 == add_2 ); -->false
false인 이유는?
add_2 선언해서 넣어준 메모리 값과 add_1 메모리 값이 다르다.
4. console.log( add_1 == add_4 ); --> true
true인 이유는?
add_1의 주소를 그대로 add_4에 복사를 해서 const add_4 = add_1; 이 부분에서 주솟값이 같기 때문이다.

함수 저장

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

list[2]가 되는 이유는?

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

여기서! "john"이 0, 27이 1이고 console.log("hello");} ]; 2이다.
2. typeof로 이 객체들에 대한 식별자들의 정보로 접근하면 세 개 모두 function으로 출력된다.

method

  • 객체에 저장된 값이 함수인 경우, 이를 메서드(method)라고 불른다.

    user에는 메모리 영역에 참조 주소를 가지고 있다. (reference)
    hello_func에 저장되어 있는 건 주솟값이다.
    주솟값을 통해서 변수의 호출 (메모리에 접근을 해서) 호출해라라는 뜻이다.

method 변경

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

    this

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

    함수내에서 객체 접근 this 식별자를 통해서 해결한다.
    [ ] 대괄호를 통해서도 접근 가능하다.

this 예제

  • this를 사용하는 method는 추가 가능하며, 이 때 this는 runtime에 결정되어 호출한 객체에 따라 다름
profile
ur gonna figure it out. just like always have.

0개의 댓글