파이썬에서의 자료형을 확인할 때 type()을 사용하듯이 자바스크립트에서는 typeof()을 사용하여 현재의 자료형 타입을 확인할 수 있습니다.
변수가 어떤 자료형인지 확인하기위해 사용하거나 if 문이나 switch 문 등의 조건문에서 변수의 자료형에 따라 다른 동작을 수행해야 할 때 typeof를 사용하여 자료형을 판별할 수 있습니다. 이를 통해 특정 자료형에 따른 분기 처리를 할 수 있습니다
변수의 자료형 확인하기
typeof 연산자는 변수나 값의 자료형을 문자열 형태로 반환합니다.
let num = 10;
let str = "Hello";
let arr = [1, 2, 3];
let obj = { name: "John", age: 25 };
let func = function () {
console.log("Function");
};
//------------------------------//
console.log(typeof num); // "number"
console.log(typeof str); // "string"
console.log(typeof arr); // "object"
console.log(typeof obj); // "object"
console.log(typeof func); // "function"
console.log(typeof undefinedVar); // "undefined"
type에서 확인가능한 연산자들입니다.
console.log로 변수형을 확인하고 싶을 때 변수명 앞에 typeof만 붙여주면 어떤 자료형인지 결과를 출력해줍니다.
문자열 -> 정수형 변환하기
JavaScript에서는 문자열을 정수형으로 변환해야 할 때가 있습니다. 이때 사용되는 함수 중 하나가 parseInt() 함수입니다. parseInt() 함수는 문자열을 정수형으로 변환하여 반환하는 JavaScript 내장 함수입니다. 이 함수는 다양한 상황에서 유용하게 활용될 수 있습니다. 대소문자 구분
숫자가 담긴 문자열 -> 정수형
let str = "123";
let num = parseInt(str);
console.log(num); // 123
console.log(typeof num); // "number"
위 예시에서 str에는 문자열 "123"이 담겨있습니다. num변수에는 str변수에 담긴 문자열 123을 정수형으로 바꾸어 담아줍니다. 이때 parseInt()를 사용하여 str의 문자열 "123"을 정수형으로 바꾸어줍니다.
console.log로 num변수를 출력해보면 정수형 값 123을 가지게 됩니다.
자료형의 타입을 확인할 수 있는 typeof을 사용하여 num변수의 자료형을 확인해 보면 parseInt로 변환한 정수형값만 담겨있기 때문에 num의 자료형이 "number"임을 확인할 수 있습니다.
숫자와 문자가 같이 있을 때
let mixedStr = "123ABC";
let mixedNum = parseInt(mixedStr);
console.log(mixedNum); // 123
console.log(typeof mixedNum); // "number"
위 예시에서 parseInt(mixedStr)은 문자열 변수 mixedStr에서 첫 번째로 나타나는 숫자인 "123"을 정수형으로 변환한 후 그 값을 변수 mixedNum에 할당합니다. 결과적으로 mixedNum은 123을 가지게 됩니다.
주의할 점은 parseInt() 함수는 문자열을 정수형으로 변환하는 것이기 때문에 소수점 아래의 숫자는 무시됩니다.
숫자가 없는 문자열 일 때
let str = "Javascript";
console.log(parseInt(str)); //NaN
위 예시에서는 str변수에 문자열만 담겨있습니다. parseInt(str)을 사용하여 'str'을 정수형으로 변환하려고 시도하였으나 "Javascript"라는 문자열은 숫자로 바꿀 수 없는 형태이므로 변환에 실패 하고 NaN(Not a Number)라는 값을 반환합니다.
NaN은 숫자로 해석될 수 없는 값이며, 자바스크립트에서는 유효하지 않은 수치 연산 등의 결과로 표시됩니다.