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

eyeless119님의 프로필 이미지

작성한 질문수

생활코딩 - 자바스크립트(JavaScript) 기본

논리 연산자

password == '111111'

21.08.17 00:32 작성

·

401

0

egoing은 값이 문자여서 따옴표를 붙였다고 생각했는데,

비밀번호를 입력할 때는 보통 '숫자'를 입력하니까 ''를 떼고 입력해야 하는 게 아닌가요? ;;;

''가 다른 의미로 쓰인 건지 궁금하네요..

답변 1

1

JAVACHOBO님의 프로필 이미지

2021. 08. 19. 22:48

저도 잘하는건 아니지만 미약한지식 공유해드림미다...

해당영상에서 password 값을 prompt() 로 받아서 저장하는데 

자바스크립트 prompt()함수의 리턴값이 String 입니다.

그래서 비교할때 자료형을 맞추기위해 ''를 사용해 문자열로 비교한것입니다.

그리고 자료형에 대해서 잘이해하셔야됩니다.

다른언어의경우 비교하는 값들의 자료형이 다르면 실행이 안되거나 오류가 나는데,

자바스크립트는 자료형에 관대한 언어라서 

pasword = 111111; 처럼  password가 숫자로 선언이 되었다하더라도

if(password == '111111') 의 결과값은 문자열과 숫자를 비교했는데도 true로 나옵니다.

그래서 질문자님이 충분히 햇갈릴수 있다고 생각합니다.

이경우 정확한 값 비교를 위해서는 if(password == '111111') 가 아닌 if(password === '111111') 

를 사용해야 정확한 값이 비교가 되고 결과값은 당연히 false가 나옵니다.

저도 많이 부족하지만 설명이 되었으면 좋겠네요.

그리고 '' 는 쉼표가아니라 따옴표입니다..

eyeless119님의 프로필 이미지
eyeless119
질문자

2021. 08. 23. 17:19

더 열심히 해야겠어요 ㅠㅜ우ㅡㅜ

아, 제가 잠시 정신이 나갔었나봐요; 왜 쉼표라고 적었을까요.(머쓱;:)

답변주셔서 감사합니다!!