본문 바로가기
자바스크립트(Java Script)/자바스크립트(Java Script) 기초

자바스크립트(Java Script) 4장 형변환

by 인생즐겜러 2022. 6. 21.
728x90
반응형

4장 형변환(Type conversion)

 

 

 

종류

String() : 문자형

Number() : 숫자형

Boolean() : 논리형

 

 

 

형변환이 필요한 이유

: 자료형을 정립함으로써 의도치 않은 동작 발생을 막기 위해

 

 

예를 들어 위와 같은 상황에서 각각 50점과 90점을 넣었다고 하자.

결과값이 이상한 이유는

prompt에서 입력 받으면 무조건 "문자형"이다.

때문에 "5090" / 2 = 2545 가 나오게 된 것.

 

하지만 5090은 문자형인데 어떻게 2로 나누어 지게 된 것일까??

이 과정이 자동 형변환이라는 것.

때문에 원치 않은 형변환으로 인해 에러가 발생할 수 있다.

 

때문에 우리는 의도를 가지고 명확하게 형변환을 해주어야 한다.

이를 명시적 형변환이라고 한다.

 

 

 

 

 

※참고

이후에도 명시할 예정이지만,

3장에서 배웠던 alert, prompt, confirm 의 자료형을 아래와 같이 확인해보면

각각 undefined / string / boolean 이다.

 

 

 

 


 

 

 

형변환의 모든 종류는 첫 글자를 대문자로 써줘야한다.

 

 

 

1. String()

: 괄호 안의 값을 문자형으로 바꿔준다.

 

 

 

 

 

2. Number()

: 괄호 안의 값을 숫자형으로 바꿔준다.

보통 사용자로부터 입력 받은 값이 문자일 때 자주 사용.

 

 

위와 같이 숫자는 숫자 / 문자는 NaN / 참은 1 / 거짓은 0 / null은 0 / undefined는 NaN

이라고 결과값이 뜬다.

 

 

※주의할 사항은 null

prompt에서 값을 입력 받지 못하고 취소를 누르면 null 값으로 반환 받는다.

때문에 사용자가 취소를 누른 값을 숫자형으로 바꾸면 0이 된다.

 

 

 

 

 

3. Boolean()

: 논리형으로 변환해준다.

 

 

● 숫자 0

● 빈 문자열

● NaN

● null

● undefined

 

 

위의 값을 제외한 모든 값들은 true로 반환하게 된다.

고로 위의 값 (false)만 외우면 된다.

 

 

 

※주의할 사항

Boolean(0)  => false

Boolean('0')  => true

 

Boolean('')  =>  false

Boolean('  ')  =>  true

 

true 인 애들은 내용물을 빈 문자열로 보지 않는 듯.

728x90
반응형

댓글