try{
//실행할 내용
//에러 없을 시 catch는 건너 뜀
} catch(err){ // 무슨 일이 일어났는지에 대한 설명이 담긴 에러 객체(err)를 포함
//에러있을 시 실행
}
function TodoList(date, todo){
this.date = date
this.todo = todo
}
let August_26 = TodoList('0826','TIL 작성') //Error발생
function TodoList(date, todo){
if(!new.target){ //new를 붙여서 호출하지 않았을 경우
retun new TodoList(date, todo) //new를 붙인 함수를 return
}
this.date = date
this.todo = todo
}
let August_26 = TodoList('0826','TIL 작성') //정상적으로 작동
실습 코드를 분석하는 과정에서 가볍게 알고있던 부분들을 서칭해보고 정리했다. new를 사용해서 생성자 함수를 호출하는지를 판단하는 함수가 있다는 사실을 오늘 처음알았다! 이 부분 과제를 해결하려 했을 때 막막했는데 이 함수를 사용하여 간단하게 해결할 수 있었다. 만약 new를 붙이지 않고 생성자 함수를 호출했을 때 return을 통해 놓친 new를 붙여주는 방식으로 오류를 방어할 수 있었다. 간단하면서도 new를 포함해 return할 생각을 하지 못했는데 좋은 해결방안을 알게됐다!
내일은 과제를 마무리해서 제출한 후 프로젝트를 시작할 생각이다. 첫 프로젝트인 만큼 더 많이 공부할 수 있는 기회라고 생각하고 열심히 해봐야겠댱😊
효코님~^^ 갱장히 잘 정리하시내요....^^ 하트 1개 갖당 꽂아벌고갑니당...^^