컴퓨터는 잘못이 없다..

[JavaScript]object type 내 함수와 this 예약어 본문

공부/JavaScript

[JavaScript]object type 내 함수와 this 예약어

도토리까꿍v 2020. 11. 4. 20:47
Contents 접기

[object type 내 함수와 this 예약어]

01) 예제 코드 보기

object type 내 함수 넣기 전 주의!!!

그냥 함수선언시에는 끝에 ;를 꼭 넣어줘야하지만!!

object type내에 함수를 넣을 때 ;를 쓰면 에러가 난다.

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>
        /*
        →object type 내 함수
        1. object안에는 함수도 들어갈 수 있다.
        2. 그때 car1.drive 참조만 / car1.drive()은 함수호출
        */
        var car1 = {
            name : "소나타", 
            color:"silver",
            drive:function(){
                //여기서 this라는 예약어는 나 자신을 가리킴!
                //따라서 여기서 this.name의 의미는 car1의 name을 말함
                alert(this.name + "이(가) 달려요");
            }
        };

        var car2 = {
            name : "산타페", 
            color:"white",
            drive:function(){
                //여기서 this라는 예약어는 나 자신을 가리킴!
                //따라서 여기서 this.name의 의미는 car2의 name을 말함
                alert(this.name + "이(가) 달려요");
            }//주의!! 여기에 ;을 쓰면 에러가 난다! ★★★★★
        };

        //빈 object를 만들고
        var car3 = {};
        
        //나중에 값을 추가해봄 
        car3.name ="포터";
        car3.color = "blue";
        car3.drive = function(){
                //여기서 this라는 예약어는 나 자신을 가리킴!
                //따라서 여기서 this.name의 의미는 car3의 name을 말함
                alert(this.name + "이(가) 달려요");
        };

        //car1 object 의 특정 방 참조
        var a = car1.name;
        var b = car1.color;

        //car2 object의 특정 방 참조
        var c = car2.name;
        var d = car2.color;

        //car1, car2 object에 있는 drive() 함수 호출
        car1.drive();
        car2.drive();

    </script>
</body>
</html>

 

02) object type 내 함수 참조와 호출

object type내 함수뿐만 아니라

모든 함수의 참조는 함수명

모든 함수의 호출은 함수명()

 

 

03) this 예약어

→this예약어

자기 자신을 가리키는 예약어이다. 자기 자신의 참조값을 가리킨다.

 

[참고]

01) 예약어

→예약어란?

특별히 해석되기로 약속된 단어

02) 함수도 Heap영역에 만들어진다!

Heap영역에 만들어지는 모든 것을 객체라고 한다.

→alert()함수를 예로 그림을 참고해보자!

+) 함수, object type, array type 모두 heap 영역에 만들어진다!(모두 참조값이 변수에 들어있다)

Comments