728x90
300x250
자료형 변환(type coercion)이란?
숫자형 변수값을 문자형으로 문자형을 숫자형으로 자료형 간 변환하는 것
형 변환에는 두 가지 방법이 있다.
- 개발자가 명시적으로 자료형을 변환
- 자바스크립트 엔진에 의해 자동으로 자료형을 변환
자동으로 자료형이 변환되는 경우
▶ 사칙연산 사용하기
console.log("1" + 2); //문자 + 숫자
console.log("1" - 2); //문자 - 숫자
console.log("1" / 2); //문자 / 숫자
console.log("1" * 2); //문자 * 숫자
실행결과
문자와 숫자를 사칙연산으로 계산했을 경우 +는 문자형으로 변경된걸 확인할 수 있다.
+연산자는 숫자형보다 문자형을 우선시 한다.
반면 -, *, /는 항상 숫자형으로 형 변환된다.
▶ 단항 양수 + 사용하기
let str = "1" + 2;
console.log(typeof str);
let num = +str;
console.log(typeof num);
실행 결과
문자와 숫자를 더한 값을 str 변수에 넣고 typeof로 타입을 확인해보면 string로 형변환된 걸 확인할 수 있다.
여기에 단항 양수 +를 붙여준 후에 type를 확인해 보면 number 형태로 변환 된걸 확인할 수 있다.
명시적으로 형 변환하는 경우
let str = "1" + 2;
let num = +str;
console.log(typeof num); //현재 num은 숫자형인 상태
let coer = String(num); //문자형으로 명시적 형변환
console.log(typeof coer);
num = Number(coer); //숫자형으로 명시적 형변환
console.log(typeof num);
실행결과
명시적으로 자료형을 변환할 경우 자바스크립트 내장 객체 함수를 사용한다.
String객체에 넣으면 문자형으로 Number 객체에 갑을 넣으면 숫자형으로 형 변환된다.
728x90
반응형
'javaScript > J Query & 스크립트' 카테고리의 다른 글
JavaScript 배열 선언하고 인덱스로 요소 출력하기 (0) | 2022.03.11 |
---|---|
속성 기술자 속성 (0) | 2022.03.09 |
자바스크립트 이진수로 변환하는 방법 toString (0) | 2022.03.06 |
백틱(backtick) ` ${} 템프릿 리터럴 사용이유 (0) | 2022.03.05 |
javascript에서 Infinity, NaN (0) | 2022.03.04 |
댓글