this
에 대한 강의를 들었는데 솔직히 말하면 한번 듣고 이해가 잘 안되었다. 다시 들어야 할 것 같다.
오늘 과정 중에서는 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]);
세명이서 페어 진행 3일차인데 생각보다 진전이 너무 안나가서 많이 딜레이되었다. 한명이 푸시를 하면 한명이 풀에 성공하고 다른 한명이 에러나고... 에러 메시지 읽느라 시간이 다 간 것 같다. 일단은 한 데까지 제출을 했는데 주말에 다시 만나서 에러들을 해결해보기로 했다ㅠㅠ git에 대한 복습과 이해가 필요하겠다.
Sprint1 Immersive Prep 터미널에 뜨는 에러들 해결해보고 고쳐보기
3일동안 배웠던 것들 복습
ES6 문법에 대해 찾아보기