[TIL] 항해99 10일차

돼지·2022년 1월 19일
0

항해99

목록 보기
15/104

오늘은 무난하게 알고리즘 문제 푸는 하루였다.
문제 범위는 하~ 중하 단계에서 낸다고 하여 중 문제를 풀다가 다시 앞으로 돌아왔다.

하 문제는 쉽게 쉽게 바로 풀리는데 비해 중하는 내생각대로 안되기 시작한다..

초반에 겪었던 좌절을 또 맛본다

오늘도 몇번 마주친 new operator에 대해 포스팅 해보겠다.

new operator

new 연산자는 사용자 정의 객체 타입 또는 내장 객체 타입의 인스턴스를 생성한다.

진짜 무슨말인지 하나도 모르겠다.
목격했던 경우는 Date,class만들 때 등 몇번 봤으나 항상 사용방법을 몰랐다.

new라는 기호는 자바스크립트의 고유의 예약어이며 고유의 연산자라고 한다.

영역(block)을 지정하여 함수 내부의 정의 된 내용을 실행하여 주는 의미라 볼 수 있다.

function structure(first, last) {
    this.first = first;
    this.last = last;
    this.printer = function () {
        return this.first + ' ' + this.last;
    };
}
var building = new structure('삼성','빌딩')
console.log(building.printer()) // 삼성 빌딩

this 키워드를 통해 frist와 last 값을채워줬다.
그리고 printer 라는 함수에서 단순 출력을 구성 했다.

만약 여기서 new 키워드를 제거하고 실행하면 오류가 발생한다.
변수명 building is undefined

new 연산자 없이 실행 된 함수는 본인의 영역(block)을 받지 못하였기 때문에 변수속 내용이 없어 생긴 오류다.

출저 https://lts0606.tistory.com/448

위의 내용을 보면서 또 궁금했던 this에 대해 알아보자

https://www.zerocho.com/category/JavaScript/post/5b0645cc7e3e36001bf676eb

https://yuddomack.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-this%EC%9D%98-4%EA%B0%80%EC%A7%80-%EB%8F%99%EC%9E%91-%EB%B0%A9%EC%8B%9D

여기서 알아보자..

profile
먐미

0개의 댓글

관련 채용 정보