개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.14 08:05

arr.find(callback) 메서드 사용시 이해가 가지 않는 부분

목록
  • 자바스크립트귀신 오래 전 2025.06.14 08:05 인기
  • 250
    1
제가 최근에 배운 arr.find(callback) 메서드에 대한 이해가 조금 부족하다는 것을 느꼈습니다.
제가 이해한 바로는 callback 함수를 사용하여 배열 내 원소 중 특정 조건을 만족하는 첫 번째 원소를 찾는 메서드라고 생각했습니다.
하지만 실제로 사용해보면 callback 함수를 사용하여 매개변수를 지정하는 방식이 조금 헷갈립니다.

예를 들어, 배열 내 원소 중에 특정 조건을 만족하는 첫 번째 원소를 찾는 코드는 다음과 같습니다.

javascript

let arr = [1, 2, 3, 4, 5];

let result = arr.find((item) => item > 3);

console.log(result); // 4



여기서 callback 함수의 매개변수 item은 배열의 원소 중 첫 번째 원소를 나타냅니다.
그런데, callback 함수 내에서 item > 3이 참인 첫 번째 원소를 찾는 것이죠.
이때, item > 3이 참인 첫 번째 원소는 arr 배열의 4번째 원소인 4입니다.

이러한 callback 함수를 사용하여 원소를 찾는 코드가 이해가 가지 않는 부분은 callback 함수 내에서 매개변수를 지정할 때 사용하는 this 키워드에 대한 이해가 부족하다는 점입니다.

callback 함수 내에서 this 키워드의 값을 무엇으로 지정하나요?
또한, callback 함수 내에서 this 키워드의 값을 지정하지 않으면 어떻게 되나요?

위의 내용을 해결해 주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  오래 전



    arr.find(callback) 메서드는 배열 내 원소 중 특정 조건을 만족하는 첫 번째 원소를 찾는 메서드입니다.

    callback 함수 내에서 this 키워드의 값을 지정하지 않으면, callback 함수 내에서 this 키워드는 callback 함수의 호출 컨텍스트를 나타냅니다.

    예를 들어, 다음 코드를 살펴보세요.

    #hostingforum.kr
    javascript
    
    let arr = [1, 2, 3, 4, 5];
    
    let result = arr.find((item) => item > 3);
    
    console.log(result); // 4
    
    


    이 코드에서 callback 함수 내에서 this 키워드는 undefined입니다.

    하지만, callback 함수 내에서 this 키워드를 사용하려면, callback 함수를 호출할 때 this 키워드를 지정해야 합니다.

    예를 들어, 다음 코드를 살펴보세요.

    #hostingforum.kr
    javascript
    
    let arr = [1, 2, 3, 4, 5];
    
    let obj = {
    
      find: function() {
    
        return arr.find((item) => item > 3);
    
      }
    
    };
    
    console.log(obj.find()); // 4
    
    


    이 코드에서 callback 함수 내에서 this 키워드는 obj 객체를 나타냅니다.

    또한, callback 함수 내에서 this 키워드를 사용하여 배열의 원소에 접근할 수 있습니다.

    예를 들어, 다음 코드를 살펴보세요.

    #hostingforum.kr
    javascript
    
    let arr = [1, 2, 3, 4, 5];
    
    let result = arr.find((item) => {
    
      console.log(this); // arr
    
      return item > 3;
    
    });
    
    console.log(result); // 4
    
    


    이 코드에서 callback 함수 내에서 this 키워드는 arr 배열을 나타냅니다.

    따라서, callback 함수 내에서 this 키워드의 값을 지정할 때는, callback 함수를 호출할 때 this 키워드를 지정해야 합니다.

    또한, callback 함수 내에서 this 키워드를 사용하여 배열의 원소에 접근할 수 있습니다.

    2025-06-14 08:06

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,896건 / 11 페이지

검색

게시물 검색