인프런 커뮤니티 질문&답변

bingo lee님의 프로필 이미지

작성한 질문수

쉽고 자연스럽게 배워보는 Javascript 입문 - 코드스쿼드 마스터즈 코스 레벨1

안녕하세요 조건문 관련 질문입니다.

작성

·

157

0

안녕하세요 if 조건문 파트쪽 예제  관련 질문을 드리고 싶어서 이렇게 글을 남기게 되었습니다.

        var str = prompt("영어 문장 입력해 주세요.");
        var ustr = str.toUpperCase();
        var lstr = str.toLowerCase();

        if (str === ustr) {
            console.log("대문자 문장입니다.");
        } else if (str === lstr) {
            console.log("소문자 문장입니다.");
        } else {
            console.log("일반 문장입니다.");
        }

이 구문에서 보면 직접 문장을 입력했을때 일반 문장은 나오지 않는데 

혹시 어떤 문장을 넣어야 일반 문장입니다라는 글이 나오는 것일까요?

답변 주시면 공부하는데 더 도움이 될 것 같습니다.

모쪼록 빠른 답변 기다리겠습니다!

답변 1

1

안녕하세요! 직접 실습해보고 답변 남기게 되었습니다.
저의 경우, "aA"를 입력해보니 "일반 문장입니다." 라는 결과를 얻었습니다.
이에 대해 살펴보니 다음과 같았습니다.

aA 를 toUppercase() 하면 , 알파벳 문자 중 소문자를 대문자로 만들기 때문에 결과는 AA가 됩니다.
즉 ustr엔 "AA"가 담기는 것이죠.
반면, aA를 toLowercase() 알파벳 문자 중 대문자를 소문자로 만들기 때문에 결과는 aa가 됩니다.
결과적으로 lstr엔 "aa"가 담기게 됩니다.

그러면 조건문을 보겠습니다.

if (str === ustr) {
        console.log("대문자 문장입니다.");
    } else if (str === lstr) {
        console.log("소문자 문장입니다.");
    } else {
        console.log("일반 문장입니다.");
}

처음에 말씀드렸듯 저는 str에 "aA"라는 값을 입력해주었습니다.
ustr은 위에 언급되었듯 "AA"가 담기고, lstr엔 "aa"가 담깁니다.
"aA"는 ustr, lstr 둘 모두와 같지 않습니다.
따라서 '일반 문장입니다.' 가 출력됩니다.

이상의 답변을 한 줄로 요약하자면, '일반 문장'은 소문자와 대문자가 섞인 문장이라 볼 수 있겠네요 ^^