우아한테크러닝 3기 1주차 : JS, TS, React, Redux

Sunmin
Hello, world?
Published in
3 min readSep 5, 2020

감사하게 우아한테크러닝 3기에 참여할 수 있게 되었고, 매우 만족하고 있다.
조금은 꼬깃꼬깃하게 넣어두었던 지식들을 잘 다림질하고 곱게 접어 차곡차곡 쌓아두는 느낌이다. 또한 대(!)선배 개발자분이 들려주시는 여러가지 말씀에 많은 영감을 받는다.

강의를 들으며 정리하고 싶은 개념들을 일주일에 한번씩 블로깅하고, 조금 더 쓰고 싶은 내용이 생기면 바로 더 추가할 예정이다.

우선 1주차는 자바스크립트, 타입스크립트, 리액트, 리덕스에 대해 다뤘고, 이에 대해 정리해보려고 한다. 101이 아니지만 본질적인 개념들을 전달해주시는 민태님께 깊은 감사를 드린다.

1. TypeScript

  • Alias: 그 타입을 나타내는 새로운 별칭(즉 새로운 타입 만드는 것 아님)
  • Interface: 타입의 이름을 짓는다.
  • alias보다 interface가 더 많은 것을 할 수 있기에 interface사용을 권장
    (예: alias는 alias끼리 상속 불가)

2. JavaScript

  • 함수는 호출되거나 인스턴스를 만드는 등의 특별한 기능을 하는 객체. 즉 코드를 묶고 있는 값이니까 실행이 가능하고 함수 호출→즉 함수는 반드시 값을 리턴 혹은 생성자 함수로 instance를 생성
  • 코드는 식 또는 문으로 나눌 수 있다.
    - 식: 코드 실행의 결과가 값으로 마무리
    - 문: 값으로 안 나온다 → 조건문, 반복문
  • this: 실행컨텍스트. 함수 호출시 전달된 객체
    - apply: call과 같은 기능 && 호출할 함수가 가변인수를 받는 함수일 때 사용
    - bind: 함수와 객체를 연결시킨다.
  • 클로저: 함수와 함수가 접근할 수 있는 주변환경으로 구성된 개념. 바깥함수의 지역변수에 접근할 수 있다.
  • 콜백함수: 인수로 전달받은 함수. 함수(setTimeout)의 호출이 비동기로 이루어져야할 때 이용
    예)미리 foo라는 함수를 정의해두고, setTimeout(foo,1000) 으로 이용
  • 콜백헬을 제어하기 위한 라이브러리: 예)async await
  • 1 나옴 → 2초 delay → 2 나옴
  • 즉, 비동기인데 동기처럼 보인다. 비동기의 백그라운드는 promise이고, 그렇게 만들어진 객체에 await를 붙여준다.
  • reject에 대한 처리는 try, catch로.

--

--

Sunmin
Hello, world?

하고 싶은 것이 많은 사람이 되고 싶고, 그러기 위해 노력합니다.