TIL - 10 | JavaScript 자료형

자료형

변수는 어떤 순간에 문자열일 수 있고 다른 순간엔 숫자가 될 수도 있습니다.

let message = 'Jay';
message = 1234;

자료의 타입은 있지만 언제든 타입을 바꿀 수 있는 동적언어라고 부른다.

숫자형

숫자형과 관련된 연산은 대표적으로 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/) 등이 대표적이다.
외에는 Infinity, -Infinity, NaN 같은 '특수 문자 값(Special numeric value)'
이 포함된다.

숫자가 아닌 문자열 '123'을 숫자로 바꾸는 법을 알아보자.

'123' + 5 

'123' + 5를 더하면 사용자는 128을 기대하지만 문자열인 '123'과 숫자 5를 더한 값은
"1235"로 출력이 된다.

parseInt('123') + 5 
"128"

parseInt를 사용하여 출력하게되면 문자열이 숫자열로 바뀌고 정상적인 "128"이 나온다.

간단하게는 Number를 사용해 문자열을 숫자열로 바꿔줄 수 있지만 두 가지 차이점이 있다.

Number('123') + 5 
"128"

결과적으로 같은 값이 나왔지만,

parseInt('3월')
"3"
Number('3월')
"NaN"

parseInt는 3월에서 숫자 3을 인식하지만 Number는 인식하지 못하고 NaN이 출력된다.

> parseInt('3.14')
"3"

parseInt는 정수로 바꿔주기 때문에 3.14가 아닌 3이 출력된다.

parseFloat('3.14')
"3.14"

문자열을 소수로 바꾸고 싶다면 parseFloat을 사용한다.

typeof parseInt(prompt());

(값을 입력받는 대화창이 뜨면 어떤 값이든 입력)

String(문자형)

let name = "Jay"
//변수를 문자열 중간에 삽입
alert (`Hello, ${name}!`); // Hello, John! 

//표현식을 문자열 중간에 삽입
alert(`rhe result is ${1 + 2}`); // the result is 3 

Booelan (불린형)

불린형은 true와 false로 나누어지는 자료형이다.

let isGreater = 4 > 1;
alert( isGreater ); //true 비교결과를 저장할 때도 사용됩니다.

Null

어느 자료형에도 속하지 않는 값

let age = null; 

Undefined

Null값처럼 자신만의 자료형을 형성합니다.
undefined는 '값이 할당되지 않은 상태'를 나타낼 때 사용합니다.

let age;
alert(age);// 'undefined'가 출력됩니다.

객체와 심볼

객체(object)형은 특수한 자료형으로 복잡한 개체를 표현할 수 있습니다.
하지만 다른 자료형은 문자열 또는 숫자로만 표현이 가능하기에 원시(primitive)자료형이라 부릅니다.

심볼(Symbol)은 객체의 고유한 식별자(unique identifier)를 만들 때 사용합니다.

typeof 연산자

피연산자의 자료형을 알려줍니다.
typeof x 또는 typeof(x) 형태로 사용
자료형을 문자열 형태로 반환
null은 객체가 아닙니다.

좋은 웹페이지 즐겨찾기