AI 보이는 추론 실험실

검사 목록이 비었는데 every는 왜 참을 돌려줄까?

검사 수·실패 위치를 바꾸고 실제 호출 횟수를 세어, ‘반례 없음’과 ‘검사를 수행함’을 구별합니다.

탐구게시 2026-10-18T23:05:34.867Z읽기·실험 약 8분확인 문제 2개규칙 기반 실행한국논리학협회 자체 제작제작·검수 LTCT 편집부

도서관 책상에서 빈 카드 쟁반을 살펴보는 여성과 곁의 작은 공식 올리
AI 생성 학습 장면입니다. 사진의 자료와 개수는 실측 근거가 아닙니다. · 주제 이해를 돕기 위한 AI 생성 이미지 · LTCT 자체 제작
오늘의 질문

AI가 빈 검사 목록에 every를 실행해 true를 받았다면 ‘검사가 모두 완료됐다’고 보고해도 될까요?

빈 목록은 참·호출 0회, 세 항목 모두 성공은 참·호출 3회, 두 번째 항목 실패는 거짓·호출 2회로 비교한 표
빈 목록은 참·호출 0회, 세 항목 모두 성공은 참·호출 3회, 두 번째 항목 실패는 거짓·호출 2회로 비교한 표 · 한국논리학협회 자체 제작
그림 크게 보기 ↗
01

참이라는 결과가 증명하는 범위를 확인합니다

AI에게 검사 결과를 요약하게 했는데, 프로그램에는 검사 항목이 하나도 들어오지 않았다고 합시다. 자바스크립트의 배열, 즉 순서 있는 항목 모음에 every(에브리, 모든 항목 조건 검사)를 실행하면 빈 배열에서도 true(트루, 참)가 나옵니다. 이 결과만 ‘검사 완료’로 번역하면 수행하지 않은 검사를 완료했다고 잘못 보고할 수 있습니다.

every는 조건을 만족하지 않는 항목을 만나면 곧바로 false(폴스, 거짓)를 반환합니다. 끝까지 그런 항목을 만나지 않으면 참을 반환합니다. 빈 목록에서는 검사할 항목도, 조건을 어긴 항목도 없어 참입니다. ‘반례를 찾지 않았다’는 것과 ‘대상 자료를 충분히 검사했다’는 것은 서로 다른 주장입니다.

02

호출 횟수를 같이 셉니다

아래 활동은 성공 여부가 이미 정해진 가상 검사 항목을 만들고, 실제 every를 실행합니다. 기본값은 항목 0개입니다. 결과는 참이고 검사 함수의 호출 횟수는 0회입니다. 항목을 3개로 늘리고 실패 항목을 없애면 참·3회가 됩니다. 반환값은 같지만 수행한 비교의 수는 다릅니다.

항목 3개 중 두 번째를 실패로 선택하면 호출 횟수는 2회이고 결과는 거짓입니다. 실패를 찾은 뒤에는 세 번째 항목까지 계속 확인하지 않기 때문입니다. 입력 자료에 표시한 참·거짓은 미리 만든 가상 결과입니다. every가 모든 항목을 실행해 실패 개수까지 센 결과로 해석하면 안 됩니다.

03

업무 규칙은 별도 조건으로 적습니다

활동의 추가 판정은 ‘항목이 최소 1개 있고 every가 참’일 때만 참입니다. 빈 배열에서는 거짓이 됩니다. 다만 이것도 실제 업무에 충분한 품질 기준은 아닙니다. 필수 항목이 5개라면 1개만 성공해도 부족합니다. 어떤 ID가 들어와야 하는지, 누락이나 중복이 없는지, 항목의 결과가 실제 검사에서 나온 것인지도 확인해야 합니다.

이 활동은 빈칸 없이 채운 배열만 사용합니다. 중간 슬롯이 비어 있는 희소 배열에서 every가 빈 슬롯을 건너뛰는 문제는 별도 범위입니다. AI 서비스나 외부 검사를 호출하지 않습니다. 독자가 바꾼 항목 수와 실패 위치를 자바스크립트가 어떻게 처리하는지 보여 주는 실행 실험입니다.

직접 확인하기 · 규칙 기반 실행

항목 수와 실패 위치 바꾸기

항목 0개에서 반환값과 호출 횟수를 함께 읽습니다. 항목 3개·실패 없음으로 바꾸고, 실패를 두 번째 항목으로 지정합니다. 추가 판정이 참이어도 필수 항목 전체를 검사했다는 보장이 없는 이유를 적고 초기화합니다.

직접 바꾸어 확인하기

입력 자료: []

every 반환값: 참 (true)

검사 함수 호출: 0회

최소 1개 있음 AND every: 거짓 (false)

관계를 읽고, 다른 상황에 적용하기

두 문제로 생각 확인

1빈 배열의 every 결과와 검사 함수 호출 횟수는?
25개 중 두 번째에서 거짓을 반환하면 이 활동의 호출 횟수는?

두 문제의 답을 모두 선택하면 해설을 볼 수 있습니다.

나의 설명으로 마무리

오늘 발견한 관계

0 / 4,000자

메모는 현재 기기의 브라우저에만 보관됩니다. 계정이나 다른 기기에는 동기화되지 않습니다.

출처와 제작 안내

원문을 참고해 설명·도표·문항·실험을 새로 작성했습니다. 별도 표시가 없는 사례와 수치는 학습을 위한 가상 예시입니다. 원문 번역이나 실제 모델의 성능 평가 자료가 아닙니다.

  1. Array.prototype.every() ↗MDNMDN · Array.prototype.every()

    빈 배열의 참, 단락 실행, 희소 배열의 빈 슬롯 생략. 호출 계수 활동은 자체 구현.