-
2019-10-02 개발일지개발일지 2019. 10. 2. 18:12
오늘은 1:1 문의 목록 화면, 상세보기, 문의 등록 기능을 작업했다.
별로 크게 어려움은 없었는데, 한가지 재밌는 요소를 발견했다.
Array.prototype.some() 이 기능은 배열 요소에 대한 검증을 하는 역할을 하는데, 검증 결과(true / false)를 리턴해준다.
'검증하다가 true가 되는 순간 이후 검증을 진행하지 않고 중단하는 특징'이 있는데, 이상하게 true가 되었는데도 이후 false가 되는 검증을 진행하는 문제가 발생했다.
아래의 코드를 보자.
const test = ['A', 'B', 'C', 'D'].some(v => { v === 'C'; }); console.log('test: ', test); /// test: false
이런 코드였는데 처음 봤을때 뭐가 문제인지 몰랐다가 호기심에 다음과 같이 구문 하나를 추가해봤다.
const test = ['A', 'B', 'C', 'D'].some(v => { return v === 'C'; }); console.log('test: ', test); /// test: true
함수를 끝내는 return 구문 하나 추가했더니 정상적으로 작동했다. -_-
재밌는건 람다식의 몸체에 중괄호를 작성해주지 않으면 정상적으로 작동한다.
const test = ['A', 'B', 'C', 'D'].some(v => v === 'C'); console.log('test: ', test); /// test: true
-_-...ㅋㅋ
어떻게 돌아가길래 그러는건지 뜯어보고 싶다.지금 생각해보니 이거 그냥 람다식의 사용 방법인데 평소에 생각을 안하고 있으니 까먹은거다.
'개발일지' 카테고리의 다른 글
2019-10-07 개발일지 (0) 2019.10.08 2019-10-04 개발일지 (0) 2019.10.04 2019-10-01 개발일지 (0) 2019.10.01 2019-09-30 개발일지 (0) 2019.09.30 2019-09-27 개발일지 (0) 2019.09.27