const strEn = "Hello, world!";

console.log(strEn.endsWith("world!")); // true
console.log(strEn.endsWith("World!")); // false => 대소문자를 구분
console.log(strEn.endsWith("world")); // false

// 원본 문자열에서 검색이 끝날 것으로 예상되는 앞(왼쪽)에서 1부터 시작하는 인덱싱
console.log(strEn.endsWith("world", 12)); // true => 원본 문자열에서 12 번째로 끝나는 부분에 위치

const strKo = "환영합니다!";
console.log(strKo.endsWith("!")); // true
console.log(strKo.endsWith("환영합니다!")); // true
console.log(strKo.endsWith("xxx환영합니다!")); // false
endsWith(searchString)
endsWith(searchString, endPosition)
const str_1 = "Hello, world!";
console.log(str_1.endsWith("")); // true

const str_2 = "";
console.log(str_2.endsWith("")); // true
/* 파일 확장자를 확인하는 함수 */
function checkImageFile(filePath) {
    // 지원되는 이미지 파일 확장자 배열 목록(소문자로 작성)
    const allowedExtensions = [".jpg", ".jpeg", ".png", ".gif"];
    
    // 파일 경로를 소문자로 변환하여 비교
    // endsWith() 함수는 대소문자를 구분하기 때문에
    // 확장자가 소문자여도 대문자 확장자를 처리하지 못할 수 있기 때문임
    const lowerCaseFilePath = filePath.toLowerCase();
    
    // 파일 확장자가 목록 중 하나로 끝나는지 확인하는 부분
    // some() 함수는 배열에서 조건을 만족하는 요소가 하나라도 있으면 true를 반환합니다.
    const isImage = allowedExtensions.some(extension => {
        return lowerCaseFilePath.endsWith(extension);
    });
    
    // 검사 결과에 따라 메시지를 출력
    if (isImage) {
        console.log("지원되는 이미지 파일입니다.");
    } else {
        console.log("지원되지 않는 파일 형식입니다.");
    }
}

// 함수 호출 예시
checkImageFile("picture.jpg");  // 지원되는 이미지 파일입니다.
checkImageFile("document.pdf");  // 지원되지 않는 파일 형식입니다.