오늘은 무난하게 알고리즘 문제 푸는 하루였다.
문제 범위는 하~ 중하 단계에서 낸다고 하여 중 문제를 풀다가 다시 앞으로 돌아왔다.
하 문제는 쉽게 쉽게 바로 풀리는데 비해 중하는 내생각대로 안되기 시작한다..
초반에 겪었던 좌절을 또 맛본다
오늘도 몇번 마주친 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
여기서 알아보자..