강의

멘토링

로드맵

Inflearn brand logo image

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

gban7971님의 프로필 이미지
gban7971

작성한 질문수

[코드팩토리] [입문] 9시간만에 끝내는 코드팩토리의 Javascript 무료 풀코스

Operator (연산자)

js에선 string값이 아스키코드값으로 저장되지 않나요?

작성

·

32

0

C와 C++를 쓸때는 if(A==65)같은 느낌으로 사용 가능했는데 js는 그렇지 않나요? 예를들어 C에서는 1=='1'에서 1과 '1'의 아스키코드값이 다르기 때문에 false가 나오지만 js에서는 true가 나와 여쭤봅니다

답변 2

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

==과 !=는 없다고 생각하시면 됩니다. 강제로 변환이 이뤄지기 때문에 실무에서 전혀 사용하지 않습니다.

===과 !==를 사용해주세요!

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. gban7971님.

JavaScript에서 문자열은 C나 C++처럼 개별 문자에 대한 아스키 코드로 직접 저장되지 않습니다. 대신 JavaScript는 문자열을 유니코드 형식으로 처리합니다. 이로 인해 JavaScript와 C/C++에서 값 비교가 약간 다르게 작동할 수 있습니다.

특히, JavaScript의 비교 연산에는 두 가지 종류가 있는데, 바로 느슨한 동등(==)과 엄격한 동등(===)입니다:
- 느슨한 동등 (==): 두 값이 서로 다른 타입일 경우 타입을 강제로 변환하여 비교합니다. 예를 들면, 1 == '1'true가 됩니다.
- 엄격한 동등 (===): 두 값이 같은 타입이고 같은 값을 가져야 참입니다. 여기서는 1 === '1'false가 됩니다.

따라서, JavaScript에서 숫자와 문자열을 비교할 때는 이 두 연산의 차이를 인지하고, 필요한 경우 엄격한 동등 연산자를 사용하여 비교하는 것이 좋습니다.

유사한 질문에 대한 추가적인 정보는 게시판의 자바스크립트의 타입 비교와 === 연산자 사용에서 확인하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

gban7971님의 프로필 이미지
gban7971

작성한 질문수

질문하기