TIL_2023_09_26

이종현·2023년 9월 26일
0

Today_I_Learned

목록 보기
94/145
post-thumbnail

Today 요약

  1. 몽고 DB 연결해서 친구 목록 관리 앱 만들기
  2. function 키워드를 사용하지 말 것

1. What I did?

1.1 몽고 DB 연결해서 친구 목록 관리 앱 만들기

오늘이라는 시간안에 프론트, 백, DB까지 연결해서 간단하게 친구를 추가하고 조회하고 삭제하는 앱을 만들었다.

하면서 여러가지 우여곡절이 있었는데, 오늘 안에 제출하고 싶다는 생각에 구현만 신경썼더니, 결국 TIL 적을 만한 내용들을 모두 놓쳤다;;

그랬는데, 결국 과제 제출하는 서버가 문제가 일어나서 결국 제출도 못하고;;

아무튼 다시 다짐하자. 내일부터 다시 TIL에 신경을 더욱 쓰도록 하자.

2. What I Learned?

2.1 function 키워드를 사용하지 말 것

정재남 님 유튜브 미세팁 강의 듣다가 정리한 내용이다.

자바스크립트에서 function 이라는 키워드를 사용할 필요가 없다. 생성자 함수를 사용할 때는 클래스라는 문법으로 일반함수는 화살표 함수로 객체의 메서드는 메서드 축약형을 사용해서 그 의도에 맞게 사용하는 것이 좋다.

function 이라는 키워드로 함수를 사용하게 되면 호출하는 방식에 따라 생성자 함수, 일반 함수, 객체의 메서드로 다양하게 활용할 수 있다. 하지만 그렇게 유동적인 것이 오히려 문제를 일으킬 수 있다.

일반함수로 사용하게 되면 this는 window에 바인딩 되는데, 일반함수를 호출할 때는 this 바인딩이 필요가 없다. 오히려 this 때문에 혼란을 가중시킬 수 있다. this 바인딩이 필요없는데, 굳이 사용할 필요가 없는 것이다. 그리고 function 키워드로 생성한 일반함수는 프로토타입 프로퍼티도 생성하는데, 일반함수로 호출할 때는 이 또한 필요가 없다. 그러니 일반함수로 사용할 때는 화살표 함수로 사용하면 된다. 화살표 함수는 this를 바인딩이 일반함수와 다르게 동작한다. 화살표 함수는 상위 컨텍스트의 this를 따라간다. 그리고 프로토타입 프로퍼티도 생성하지 않는다. 또한 arguments, caller 속성도 가지지 않는다. 따라서 호출스택에 쌓이는 건 동일하지만, 화살표 함수는 호출 기록부를 가지지 않고, 부모 함수를 이용해 호출 스택에 쌓는다. (오늘은 여기까지 정리.. 나머지는 내일)


profile
데이터리터러시를 중요하게 생각하는 프론트엔드 개발자

0개의 댓글