ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 언어의 원리를 이용한 자바스크립트(2) | 강희성님
    Javascript/ECMAScript 2009 (ES5) 2020. 3. 8. 10:19
    반응형

    2주차 스터디 기록

     

    # 대입연산자, 변수, 리턴은 값을 복사한다 (객체가 복사되는 게 아님)

     - 값 : Heap 에서 저장된 주소

     

    # 자바스크립트에서 실행 할 수 있는 건 오직 함수, 연산자 뿐이다.

    # , 연산자는 순서대로 실행해라

     

    함수

    # arguments : 매개변수를 지정하지 않을 경우 입력한 매개변수 값만큼 처리한다.

    # 이론과 구현을 혼동하지 마라

    # 자바스크립트 함수의 시그니처는 이름이다.

     - 이름으로 함수를 구분한다.

     - 함수를 사용하려면 이름 (또는 연산자)이(가) 있어야 한다.

     

    ※ 함수의 기본 구조

     - function a () { return }; * 함수를 정의하고 a를 쓰겠다고 선언함.

     - function () { return }; * 실행 안됨. 함수를 정의 했을 뿐 선언을 하지 않음.

     

    ※ 익명함수

     : 함수의 이름이 없어도 쓸 수 없다.

     - ( function () { return } ) : 함수를 정의하고 쓰겠다고 선언함.    *() 연산자

    # 자바스크립는 함수를 호출할 때도 function / 클래스를 호출할 때도 function

    - 클래스 : 어떤 역할을 하는 무엇입니다. (정의와 비슷)

    - 생성자 : 어떤 걸 쓸거야 생성해줘 (선언과 비슷)

    ※ this

    - 자바스크립트의 this는 함수가 호출될 때 결정된다.    *ex) a.b.c.d.func(); * this==d

    ※ new 연산자

     : 함수 앞에 new를 붙인다.    *ex) new func();

     - 함수 안에 this를 만들어준다. / 아무것도 return 하지 않으면 new가 만든 this를 리턴한다.

    ※ prototype

     : 인스턴스된 모든 객체에서 공유할 수 있는 객체

     - 함수 또는 클래스를 만들어서 원하는 기능을 프로토타입에 넣는다.

    Person.prototype.getName = function(){};
    
    var p = new Person();    // p는 인스턴스.
    p.prototype.getName = function(){};

    # 인스턴스의 조상은 object, 모든 객체의 조상은 object

    # prototype chain : 상위 객체의 prototype을 계속 체크해서(object까지) 호출한 값이 있는 지 확인(?)

    # 메모리를 할당이 적다.

    # loop를 돌 경우 성능이 떨어진다 => 함수를 객체에 담는다. (프로토타입을 인스턴스에 담는다.)

    a.prototype.getName = function(){}; 
    a.getName = a.getName

    ※ closer - 참조 변수 (기본 자료형도 참조한다)

    (function(){ var i = 0; setInterval(function(){ console.log(++i); // i == closer 변수; },500);

    (function(){ 
      var i = 0; 
      setInterval(function(){ 
        console.log(++i);    // i == closer 변수; 
      },500); 
    })()

    })()

    # 자바스크립트는 자동 실행되기 때문에 하드웨어에 접근할 수 없고 브라우저에 위임한다.

     - 내가(setInterval) 함수 안에 있고 내가 사용할 변수가 나한테 없고 나를 감싸고 있는 함수 안에 있을 때 참조한다.

     - 내가 사용할 변수와 내 위에 있는 변수는 같은 변수가 아니다. 내 위의 변수를 참조할 뿐.

     - 변수를 아무도 안 쓸 경우에 메모리에서 자동으로 지워진다.

    # 함수의 호출은 값이 복사된다.

     

    # 함수의 파라미터는 함수 안에 변수를 만든 것과 똑같고 초기화만 다르다. (받은 값을 넘겨준다.)

    반응형

    댓글

Luster Sun