Javascript 형변환
목차 |
1. 형 변환(type conversion) |
2. String(문자열) |
3. Number(숫자) |
4. Boolean(논리값) |
1. 형 변환(type conversion)
자바스크립트에서는 함수나 연산자에 값이 전달될 때 내가 지정하지 않아도 자동으로 타입이 지정된다.
데이터 타입이 자동으로 변경 되는데 이를 형변환이라고 한다.
어떠한 값에대해 의도적으로 원하는 값으로 바꾸는 경우에도 형 변환이라고 한다.
오늘은 간단하게 기본적인 형변환을 알아보도록하고,
객체와 같은 복잡한 데이터의 형변환은 따로 자세히 알아보도록 하자.
2. String(문자열)
숫자 1에대해 문자열 1과, 숫자형 1이 존재한다.
console.log(typeof 1) // number
console.log(typeof "1") // string
우리같은 사람이 보기엔 둘이 별 차이가 없어 보이지만, 컴퓨터에 입장에서는 전혀 다른 값으로 인식된다.
이로인해 다양한 오류가 발생하므로 데이터 타입을 아는 것은 정말 중요하다.
문자로의 형변환을 하는 방법
문법(Syntax)
String(value)
예시(Sample)
console.log(typeof String(1)) // string
console.log(typeof "1") // string
3. Number(숫자)
문자와 마찬가지로 숫자에 ""을 붙여넣는다면, 컴퓨터는 이를 문자로 인식해 오류를 뱉어내는 경우가 있다.
자바스크립트는 너그러운 편이라 알아서 변환해주기도 하지만, 이는 우리가 의도한바가 아니기에 주의해야한다.
문법(Syntax)
Number(value)
예시(Sample)
console.log(typeof 1) // number
console.log(typeof Number("1")) // number
console.log(typeof Number("이것도 되나")) // number
let no = Number("이것도 되나")
console.log(no) // NaN
문자형을 숫자로 바꿔 주기는 하지만, 특수 숫자형인 NaN으로 반환되니 나처럼 이런짓은 하지 않도록 하자.
이외에도 몇가지 규칙서에 의해 불린값은 각각 1과 0으로 반환해주고, undefined는 NaN, Null은 0을 반환한다.
예시(Sample)
console.log(typeof Number(undefined)) // number
let a = Number(undefined)
console.log(a) // NaN
console.log(typeof Number(null)) // number
let b = Number(null)
console.log(b) // 0
console.log(typeof Number(true)) // number
console.log(typeof Number(false)) // number
let yes = Number(true)
let no = Number(false)
console.log(yes) // 1
console.log(no) // 0
4. Boolean(논리값)
불린형으로 변환하는 것은 간단하다.
불린형으로 만드는 것은 논리 연산을 할 때에 필요하다.
규칙은 다음과 같다.
- 직관적으로 비어있는 값들( 숫자 0, 빈 문자열, null, undefined, NaN)은 false
- 나머지는 true
이를 이용해 값이 잘 들어온다면 true, 값이 들어오지 않았다면 undefined를 통한 false를 띄워 판별한다.
(서버를 이용해 전송이 잘 되었는지 예외처리 시 볼 수 있다.)
Boolean(value)
참고자료
https://ko.javascript.info/type-conversions