[TIL]데브코스 프론트엔드 0826

hyojeong·2021년 8월 26일
1

데브코스

목록 보기
22/50
post-thumbnail

📚TIL

week3 Mission

try-catch

  • 코드블럭을 표시하고 예외가 발생할 경우 응답을 지정함
  • 에러로 인해 스크립트가 중단되는 것을 방지하며 콘솔에 에러 출력
  • 런타임 에러에만 동작하며 문법적 오류에는 동작하지 않음
  • try-catch는 동기적으로 동작
  • throw : 메세지를 통해서 에러 생성
  • try-catch 사용법
try{
	//실행할 내용
  	//에러 없을 시 catch는 건너 뜀
} catch(err){	// 무슨 일이 일어났는지에 대한 설명이 담긴 에러 객체(err)를 포함
	//에러있을 시 실행
}

new.target

  • 함수 또는 생성자가 new 연산자를 사용하여 호출했는지 감지
  • 일반적인 방법으로 생성자 함수 호출시 undefined를 반환
function TodoList(date, todo){
	this.date = date
	this.todo = todo
}

let August_26 = TodoList('0826','TIL 작성')	//Error발생
  • new와 함께 생성자 함수 호출시 함수 자체를 반환
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할 생각을 하지 못했는데 좋은 해결방안을 알게됐다!
내일은 과제를 마무리해서 제출한 후 프로젝트를 시작할 생각이다. 첫 프로젝트인 만큼 더 많이 공부할 수 있는 기회라고 생각하고 열심히 해봐야겠댱😊

profile
Front-end Develop🥰

2개의 댓글

comment-user-thumbnail
2021년 8월 27일

효코님~^^ 갱장히 잘 정리하시내요....^^ 하트 1개 갖당 꽂아벌고갑니당...^^

1개의 답글