JAVASCRIPT

Data type & Data type Conversion

funfunweb 2023. 6. 14. 17:43

앞서 살펴 본 바와 같이 data type에는 

number(숫자)데이터

string(문자)데이터

boolean(논리)데이터

undefined데이터

null 데이터가 있다.

 

 

자동 형변환(묵시적 타입 변환)

See the Pen javascript:data type by 정은 (@luchiaChoi) on CodePen.

 

 

 

 

 

위 예제처럼 

문자데이터와  숫자데이터+ 연산자를 이용하여 연산하게 되면 문자로 바뀌게 된다.

문자데이터("5")와 문자데이터("7") 를 + 를 제외한 나머지 연산자(-,*,/,%) 로 연산하게 되면 자동으로 숫자로 바뀌게 된다.

이를  자동 형 변환(묵시적 타입 변환) 이라 한다.

 

"5" - "3" = 2

string - string = number

 

* 원인을 찾기 힘든 error 를 발생시킬 수 있음.

 

특정 타입의 값을 기대하는 곳에 다른 타입의 값이 오면, 자동으로 타입을 변환해서 사용 "4" / "2" = 2 

숫자로만 나누기 때문에 자동으로 숫자형으로 변환시켜 계산해준다.

 

See the Pen prompt 로 들어온 숫자의 자료형은? by 정은 (@luchiaChoi) on CodePen.

 

 

 

 

 

명시적 타입 변환 (대소문자 구분 주의)

 

타입 설명
Number() 문자형을 숫자형으로 변환(정수/소수 모두)
String() 숫자나 불린등의 자료형을 문자형으로 변환
Boolean() 문자형,숫자형 등의 자료를 불린 형으로 반환
0 제외 모든 값 true 반환  . 0 은 false 반환
Object() 모든 자료형을 객체형으로 변환
parseInt() 문자를 int형으로 변환(정수)
parseFloat() 문자를 float 형으로 변환(소수)
let num = 10.123;
let str = "10.123";
let bool = (5 > 2);

console.log(typeof(String(num)) + num);
console.log(typeof(Number(str)) + str);
console.log(typeof(Boolean(num)) + bool);
console.log(typeof(Number(bool)) + bool);
console.log(parseInt(str));
console.log(parseInt(num));
console.log(parseFloat(str));
console.log(parseFloat(num));

See the Pen javascript data type conversion by 정은 (@luchiaChoi) on CodePen.

 

 

 

 

문자열 안에 문자가 있을 경우 숫자로 변환하려고 하면 NaN (Not a Number)이 반환된다. ex) Number(1als)  -> NaN

숫자 0, 공백, null, undefined, NaN 은 모두 false 반환한다.

prompt 에서 취소 버튼을 누르면 null 이 된다.  = 0 으로 반환된다.

Number(0)  //false
Number('0') //true

Number('') //false
Number(' ') //true

 

'JAVASCRIPT' 카테고리의 다른 글

javascript 연산자 - 할당연산자  (0) 2023.06.21
javascript 연산자 - 비교연산자  (0) 2023.06.21
javascript 연산자 - 산술연산자  (0) 2023.06.13
javascript - data type  (0) 2023.06.13
JAVASCRIPT 변수  (0) 2023.06.13