JavaScript 형변환








1. 암시적 변환

 형을 직접적으로 변환해주는 것이 아닌 자동적으로 변환한다.

	let a = 5;
	document.write(a+"10");	// 510
	document.write(a*"10");	// 50

ㄴ 숫자 -> 문자열 : 2 라인에서는 a가 문자열 5로 변환되어서 510이 출력된다.

ㄴ 문자열 -> 숫자 : 3 라인에서는 문자열 10이 숫자로 변환되어서 5*10의 결과인 50을 출력한다.




2. 명시적 변환

- 문자열 -> 숫자 

ㄴ Number("문자열") : 해당 문자열을 숫자로 변환한다. 단, 문자열에 숫자 외 문자열, 즉 숫자로 바꾸지 못하는 문자가 포함되어있는 경우는 NaN(Not a Number)을 리턴한다.

ㄴ parseInt("문자열") : 해당 문자열을 Int형(=정수형) 숫자로 변환한다. 정수형이므로 소수점 아래는 잘린다. Number함수와 달리 문자열에 숫자로 바꾸지 못하는 문자가 포함되어있어도, 문자 이전까지의 숫자를 숫자로 변환해 준다.

또한, 2번 째 인수로 진수를 설정해줄 수도 있다. 4라인을 보면 10을 16진수로 출력하여 16이 보여진다.


ㄴ parseFloat("문자열") : 해당 문자열을 Float형(=실수형) 숫자로 변환한다. parseFloat도 문자열에 처리못할 문자가 있으면 parseInt와 마찬가지로 처리한다.


		let a = "5.14g35";
		document.write(Number(a));	// NaN
		document.write(parseInt(a));	// 5
		document.write(parseInt("10", 16));	// 16
		document.write(parseFloat(a));	// 5.14




- 숫자 -> 문자열

ㄴ String(숫자) : 해당 숫자를 문자열로 변환한다. 이는 사실 ""를 더해주는 암시적 형변환을 사용하면되므로 사용성이 떨어진다.




3. 논리형 변환

- false : 0, "", NaN, null, undefined 같은 경우

- true : 그 외에 경우




4. 변수의 타입 확인 typeof()

- typeof(변수) : 여기에는 변수 뿐만아니라 객체를 사용할 수도 있다. 이 함수는 자료형을 리턴해주며 리턴되는 값은 "number", "string", "boolean" 처럼 소문자 문자열이다.




※ == vs. ===

- == : 값만 비교한다.

- === : 값뿐만 아니라 타입까지 비교한다.




'JavaScript > 기초' 카테고리의 다른 글

JavaScript eval 함수  (0) 2020.03.14
JavaScript 함수  (0) 2020.03.14
JavaScript 예외 처리  (0) 2020.03.13
JavaScript 제어문  (0) 2020.03.13
JavaScript 변수  (0) 2020.03.12

+ Recent posts