20201201

Judo·2020년 12월 1일
1
post-thumbnail
post-custom-banner
  • 이머시브 과정 2일차.
    • JS koans를 풀었다.
    • Arrow function, destructuring, this, call(), apply(), bind()에 대해 학습했다.
    • 처음엔 call(), apply(), bind()이 이해가 되지 않았다. koans를 진행하면서 각 메소드의 차이점이 눈에 들어왔다. 먼저 공통점은 call(), apply(), bind() 모두 첫 번째 인자를 this로 사용한다. 차이점은 call()은 두 번째 인자부터 인수 리스트로 받는데 apply()는 단일 배열로 받는다는 것이다. 이외 작동방식은 똑같다고 보면 된다. bind()도 첫 번째 인자를 this로 사용하고 두 번째 인자부터 인수 리스트로 받는건 call()가 같지만 차이점은 바로 실행되는 것이 아닌 새로운 함수를 리턴하는 점이다.
let kim = {first: 20, second: 30} 
function sum() {
  return this.first + this.second;
}

let newFunc = sum.bind(kim);
newFunc() // 50

위 코드처럼 객체안에 포함된 메소드가 아닐지라도 sum 함수는 bind()를 이용해 this 값을 kim으로 바인딩 한 상태로 새로운 함수를 만들어낼 수 있다.

  • git을 공부하면서 upStream을 본 저장소의 별칭(?)으로 사용한다는걸 새로 알았다.
    • upStream => fork => origin => clone => local
profile
즐거운 코딩
post-custom-banner

0개의 댓글