TIL : 2020-06-10

Zoey Song ·2020년 6월 10일
0

What I learned

  1. this에 대한 강의를 들었는데 솔직히 말하면 한번 듣고 이해가 잘 안되었다. 다시 들어야 할 것 같다.

  2. 오늘 과정 중에서는 Sprint Review가 유익한 시간이었다.

    • format on save 에디터에 체크를 하면 저장시 포매팅이 된다.

    • linter와 formatter의 차이

    • fork해서 브랜치를 사용하는 것과 그냥 브랜치로만 작업하는 것의 차이

    • arrow function 자체가 가지는 this가 없다. (bind.this에서는 상위 스코프가 가지는 this를 따른다 - 함수마다 this가 생김)

    • Lexical이란? 문맥적; 코드를 작성할 때 정해지는 것, 새로운 함수(arrow function이 아닌) 안으로 들어가지 않는 이상 lexical함.

    • Destructuring Assignment (구조분해할당) : 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게함. 주로 함수의 인자를 받을 때 많이 쓰임.

    • Rest parameter 와 Spread operator의 차이 !!!

      • Rest parameter는 함수의 파라미터로 오는 배열 값들을 배열로 전달 받을 수 있다. 단, rest parameter는 항상 제일 마지막 파라미터여야 한다. 예를 들어 예를들어 function foo(...rest, param1, param2){~}는 사용 불가능함.

      • Spread operator는 연산자의 대상 배열 또는 iterable의 '개별'요소로 분리한다. iterable은 Array, String, Map, Set, Dom구조이다. iterator를 생성해서 next()로 순회할 수 있는 자료구조가 이터러블.

      • 차이점? rest parameter는 함수선언문의 파라미터에 ...을 이용해서 받으면 가변인자로 받아 배열로 만들어 사용하는 것이고, 함수 호출문의 파라미터에 ...을 이용해서 호출하면 배열이 해당 매개변수로 각각 매핑되는 것과 다르다.

        //Rest
        function foo(param, ...rest) {
          console.log(param); // 1
          console.log(rest);  // [ 2, 3 ]
        }
        foo(1, 2, 3);
        
        //Spread호출
        function bar(x, y, z) {
          console.log(x); // 1
          console.log(y); // 2
          console.log(z); // 3
        }
        bar(...[1, 2, 3]);
  • Default parameter : 기본값 넣어주기
  • Template literals : 변수를 담아서 출력할 수 있는 기능
  • Arrow function 에서 return 과 {}는 생략이 가능
  • for ... of 는 iterable한 속성을 가진 요소들에 대해 (유사배열, 배열, 스트링..) 사용할 수 있는 반복문. for ... in은 배열의 인덱스를 리턴하고, for ... of는 배열의 요소값을 리턴한다.

What I thought

세명이서 페어 진행 3일차인데 생각보다 진전이 너무 안나가서 많이 딜레이되었다. 한명이 푸시를 하면 한명이 풀에 성공하고 다른 한명이 에러나고... 에러 메시지 읽느라 시간이 다 간 것 같다. 일단은 한 데까지 제출을 했는데 주말에 다시 만나서 에러들을 해결해보기로 했다ㅠㅠ git에 대한 복습과 이해가 필요하겠다.

What I am going to do

Sprint1 Immersive Prep 터미널에 뜨는 에러들 해결해보고 고쳐보기
3일동안 배웠던 것들 복습
ES6 문법에 대해 찾아보기

profile
비전공자의 개발도전기

0개의 댓글