ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.