🍒What I did today(오늘 한 일)
✅Underbar Part2
오늘도 Javascript 라이브러리 중 배열, 객체를 다루는 Underscore.js를 해보았다.
근데 오늘은 lodash에 대해서도 살짝 알아보았다. 그래도 여전히 문제는 어려웠고 참고하기 바빴던 것 같다.
sort까지 도전했는데 생각보다 푸는 방법이 너무 어려웠다.😅
결국 sprint review에서 스리슬쩍....ㅎㅎ
참고자료 : Underscore.js , lodash
✅동기, 비동기(Asynchronous) 방식
동기와 비동기 방식의 차이점에 대해 배웠다. 동기는(sync) 현재 실행중인 코드부터 완료하고 다음 코드를 처리하는 방식
비동기(async)는 현재 실행 중인 코드가 완료된 지는 상관없이, 바로 다음 코드로 넘어가는 방식이다.
그리고 Timer API를 통해 비동기를 구현하는 방법도 있었다. 이 부분들은 따로 블로깅을 해야될 것 같다.
✅callback 함수
callback 함수가 요 근래에 계속 나오고 배우는 중인데, 코딩하는데에도 조금씩 불편하긴 했다. 설명도 잘 못하겠고 그냥 인자로 쓰이는 함수 정도로 이해하고 넘어가고있었던 것 같다.
근데 비동기 방식과 관련된 부분을 봤더니 callback함수를 활용하는 부분에서 막힌다.
다시 찾아보고 따로 블로깅해야될 것 같다. 클로저나 스코프 같은 개념이 정말 중요한 것 같고, 어떤식으로 사용되는지는 감이 오는 것 같다. 하지만 이 부분을 다른사람 혹은 페어에게 설명을 하려해도 할 수가 없다.
정확한 개념을 모르기 때문에😥 더 노력해야겠다.
✅ sort() 내장 메서드
sort()는 배열 요소들을 적절하게 정렬한 후, 그 배열을 반환한다. arr.sort([compareFunction]) 방식으로 사용하는데, 정렬 순서를 정의하는 함수인 compareFunction은 생략 가능하다.
이 함수가 생략되면 배열의 요소들은 문자열로 취급되어 유니코드를 기준으로 정렬된다.
파라미터를 두개 받고 비교를해서 낮은 색인으로 정리하는 부분도 있었는데, 그 부분은 조금 이해가 안되서 천천히 알아가야겠다. 참고자료는 여기
const array1 = [1, 30, 4, 21, 100000];
array1.sort();
console.log(array1);
// expected output: Array [1, 100000, 21, 30, 4]
let array = [3, 1, 2, 214, 5, 4, 7, 6, 9, 8];
array.sort();
console.log(array);
// [1, 2, 214, 3, 4, 5, 6, 7, 8, 9]
🍒Remember(기억할 것)
✅lodash란?
- lodash는 자바스크립트 유틸리티 라이브러리 입니다.
- 유틸리티 라이브러리로 array, collection, date, number, object 등이 있으며, 데이터를 쉽게 다룰 수 있도록 도와줍니다.
(예를들면, 배열 안에 중복 값을 제거하기 / object 배열 안에 특정 값만 추출하기 등..) - 특히, 자바스크립트에서 배열 안의 객체들의 값을 핸들링할때 유용합니다.
배열 안의 어떤 요소라도 주어진 판별 함수를 통과하는지 테스트한다.
그리고 Unscore.js에서 본 것 같은데 이 함수는 배열의 요소 중 하나라도 특정한 조건을 만족하는지 테스트한 결과를 반환하기도 한다.
const array = [1, 2, 3, 4, 5];
// checks whether an element is even
const even = (element) => element % 2 === 0;
console.log(array.some(even));
// expected output: true
클래스를 다른 클래스의 자식으로 만들기 위해 class 선언 또는 class 식에 사용된다.
extends 키워드는 내장 객체 뿐만 아니라 사용자 정의 클래스를 하위 클래스를 만들기위해 사용될 수 있다.
🍒More Study
✅arr.sort([compareFunction])
✅reduce 사용해서 filter, map 을 forEach로 구현해보기
2021-02-09
오늘 Underbar part2를 풀면서 생각을 많이하면서 문제를 풀었던 것 같고, _.each를 사용해서 푸는 게 너무 까다로웠다.
페어분과 같이 풀어보니까 왠지 되게 잘풀리는 느낌이 있었는데, 진도가 안맞아서 너무 아쉬웠다.
결국 혼자 sort()까지 풀어버리고 이해가 안되는 부분은 역시 너무 많고 특히! reduce, callback 함수 이런 부분?
검색해보고 정리하고 익숙해지려고 노력해야겠다💧