Jiyong's STUDY

_.identity: 받은 것을 그대로 반환하는 함수 그리고 응용 본문

Web/Functional Programming

_.identity: 받은 것을 그대로 반환하는 함수 그리고 응용

Kingjiyong 2021. 5. 26. 00:45
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