Jiyong's STUDY
_.identity: 받은 것을 그대로 반환하는 함수 그리고 응용 본문
const identity = v => v;
_.identity는 underscore.js에 존재하는 함수인데,
받은걸 그냥 그대로 리턴한다.
이걸 왜 써야하는지도 의문이고 언제 써야 하는지도 의문이다.
하지만 예시가 있는데, Boolean을 평가할 때 유용하게 쓸 수 있다.
_.filter([true, 0, 10, 'a', false, null], _.identity);
// [true, 10, 'a']
리스트에서 true로 평가되는 값만 남긴다.
다른 예시로는
_.some = list => !!_.find(list, _.identity);
_.every = list => _.filter(list , _.identity).length == list.length;
console.log(_.some([0, null, 2])); // true
console.log(_.every([0, null, 2])); // false
some은 리스트 중 하나라도 true로 평가된다면 true를 반환하고,
every는 모두가 true로 평가되어야 true를 반환함.
특정 조건에서 유용하게 쓰일 수 있을 듯.
'Web > Functional Programming' 카테고리의 다른 글
간단한 연산자를 함수로 대체하는 이유? (0) | 2021.05.26 |
---|