코드캠프 TIL 37일차

수업시간에 배운 내용

1. React Currying
(1) 커링은 반환값이 함수인 디자인 패턴을 말하며, 중복된 코드를 반복적으로 입력하지 않고 원하는 기능을 조합하여 적재적소에 사용한다는 장점이 있다.

(2) 커링은 쉽게 말하면 '함수를 반환하는 함수'라고 생각하면 된다. 커링을 사용 하는 이유는 '함수의 재활용' 이다.

(3) 파라미터의 수보다 적은 수의 파라미터를 인자로 받으면 누락된 파라미터를 인자를 받도록 하는것이다. 즉, 커링은 함수 하나가 n개의 인자를 받는 과정을 n개의 함수로 각각의 인자를 받도록 하는 것이다.

function func(a){
    return function(b){
        return function(c){
            console.log(a, b, c);
        }
    }
}
 
func(1)(2)(3); // 1 2 3

(4) 커링 함수에서는 인자의 순서가 중요한데, 앞쪽 인자일수록 변동 가능성이 적고, 뒤로갈수록 변동가능성이 높아지기 때문이다.

추가적으로 공부한 내용

1. var, let, const
(1) 자바스크립트에서 var, let, const는 모두 변수를 선언하는데 사용된다. 기존에는 var만 사용했는데, 이후 ES6에서 let과 const가 나오게 되었다.

(2) 각각의 차이점을 알려면 변수의 선언 및 할당 과정, 호이스팅, 스코프를 알아야하지만 간단하게 차이점을 설명해보려고 한다.

(3) 기존에 사용하던 var의 문제점은 크게 세가지가 존재한다.

  • 변수 중복 선언이 가능하여, 예기치 못한 값을 반환할 수 있다.
  • 함수 레벨 스코프로 인해 함수 외부에서 선언한 변수는 모두 전역 변수가 된다.
  • 변수 선언문 이전에 변수를 참조하면 언제나 undefined를 반환한다.

(4) let은 변수 중복 선언이 불가하지만 재할당은 가능하다.

let dooin = "두인"

dooin = "내이름"

console.log(dooin) // '내이름'

(5) 하지만 const는 반드시 선언과 초기화를 동시에 진행하여야 한다. 또한 재선언이 불가하며, 재할당도 불가능하다.

(6) 정리하자면 변수의 스코프는 최대한 좁게 만드는것이 좋다. 따라서 var 보다는 let과 const를 사용하는게 좋을것이다. 또한 변경하지 않는 값(상수)라면 const를 사용하는것이 안전할것이다.

좋은 웹페이지 즐겨찾기