Number()
- 문자열의 수를 숫자로 바꿔준다.
- 만약 인수를 형변환 할 수 없다면 NaN을 리턴한다.
Number('123') // 123
Number('+123') // 123
Number('1.23') // 1.23
Number('-1.23') // -1.23
Number('08') //8 -> ECMAScript 5 에서는 0으로 시작하는 string을 8진법으로 보지 않는다
Number(null) // 0
Number('') // 0
Number('1000won') // NaN
Number('foo') // NaN
parseInt()
- 문자열 인자(숫자 + 문자)를 받는다.
- 그 인자를 parse(해부하다, 품사문법적 관계를 설명하다)한다.
- integer(정수) 또는 NaN을 리턴한다.
parseInt('08') // 8
parseInt('-421') // -421
parseInt('+421') // 421
parseInt('421') // 421
parseInt('21000won') // 21000
parseInt('2.34') // 2
parseInt(null) // NaN
parseFloat()
- 문자열 인자(숫자 + 문자)를 받는다.
- 그 인자를 parse(해부하다, 품사문법적 관계를 설명하다)한다.
- 부동 소수점 숫자(float point number)를 반환한다.
parseFloat('08') // 8
parseFloat('-421') // -421
parseFloat('421') // 421
parseFloat('+421') // 421
parseFloat('21000won') // 21000
parseFloat('2.34') // 2.34
parseFloat(null) // NaN
Number()와 달리, 일반 문자를 무시하고 숫자만 반환한다.
let won = '1000won'
console.log(Number(won)); // NaN
console.log(parseInt(won)); // 1000
console.log(parseFloat(won)); // 1000
소수점 뒤의 수를 무시하는지 안하는지의 차이
let decimalNum = 2.34
let strDecimalNum = '2.34'
console.log(parseInt(decimalNum)) // 2
console.log(parseInt(stringDecimalNum)) // 2
console.log(parseFloat(decimalNum)) // 2.34
console.log(parseFloat(strDecimalNum)) // 2.34