💻오늘 배운 내용
call(), apply(), bind()
세 함수는 모두 함수에서 this로 사용할 객체를 명시적으로 지정하여 실행되도록 해준다.
call()
함수객체에 미리 정의되어 있는 함수로 첫번째 인자로 객체를 주는데 call()을 호출하는 함수가 인자로 주어진 객체에 딸려 있는 객체 처럼 동작하게 한다.
사용방법은 element.call(thisArg[, arg1[, arg2[, ...]]])
첫 번째 인자는 함수를 소유하는 객체를 지정하고,
두 번째 부터는 옵션으로 필요하다면 함수로 보내는 인자를 지정할 수 있다.
apply()
call() 메소드와 기능은 동일. 차이점은 인자로 객체와 인자배열을 받는다는 것.
bind()
인수로 주어진 객체를 this로 사용하는 함수를 반환한다.
반환된 함수 호출시 줄 인자중 일부를 미리 설정할수도 있다.
종합해보면,
1. 함수는 그 자체로 객체다.
2. call(), apply(), bind()는 함수가 가지는 속성이다 (실제로는 함수의 prototype이 가지는 속성임).
3. 함수내에서 사용되는 this는 함수가 호출되는 위치에 의해서 정해진다.
4. call(), apply(), bind()를 사용하면 this로 사용될 객체를 명시적으로 지정할 수 있다.
bind()와 call()의 차이점
즉시 call과는 다르게 즉시 호출하지는 않고 넘겨받은 this 및 인수들을 바탕으로 새로운 함수를 반환하는 메서드!
라는 점을 기억하자.
팀과제 KPT
한주 간 진행했던 팀과제를 마무리 하고 개인적으로 KPT를 작성해보았다.
Keep
- 오류가 나는 상황을 바로바로 공유하는 것
- 기능 별로 브랜치를 나누고 작업하기
- 미숙한 부분을 팀원이 도와주는 것
- 질문에 성실하게 응답하며 해결될 때까지 도와주는 자세
- 이슈가 생기면 같이 해결하려고 노력함
- 팀원의 질문에 즉각적으로 반응한 것
Problem
1) 문제
- 커밋 컨벤션, 코드 컨벤션의 부재
- 상세페이지에 들어갈 내용을 제대로 계획하지 않았다
- 각자 하루하루 무엇을 했는지 자세한 기록이 없다
2) 원인
- 기획 단계에서 변수 명부터 스타일 사용을 위한 아이디나 클래스 값 설정을 하지 않았다.
- 기획 회의 중 추후에 따로 상의하자고 한 후 그대로 각자 알아서 작업한게 문제
- 1일 1커밋 이상 실천이 안되었다.
Try
- 기획 단계에서 변수 명부터 스타일 사용을 위한 아이디나 클래스 값, 주요 색상 통일하기
- 매일 하루 마무리에 각자의 결과물을 merge하며 바로바로 업데이트
- 매일 하루 시작에 중간목표를 세워두면 효율적으로 작업할 수 있을 것 같다.
📋레퍼런스
https://offbyone.tistory.com/140
'내일배움캠프 > Today I Learned' 카테고리의 다른 글
[TIL 2023.06.13] React 불변성/Rendering/counter 프로그램 만들어 보기 (1) | 2023.06.14 |
---|---|
[TIL 2023.06.12] React Component / JSX / Props / State (1) | 2023.06.12 |
[TIL 2023.06.08] css 가상선택자 / javascript 요소의 속성 값을 정의하는 메서드 (0) | 2023.06.09 |
[TIL 2023.06.07] localstorage 페이지 당 각각의 댓글창 구현하기 (0) | 2023.06.08 |
[TIL 2023.06.05] Javascript localStorage를 이용하여 댓글 기능 만들기 (1) | 2023.06.07 |