자바스크립트 기본 문법 – 데이터 타입 – 타입 변환 – 2 – 타입 강제 변환

자바스크립트 기본 문법 – 데이터 타입 – 타입 변환 – 2 – 타입 강제 변환

자바스크립트 데이터 타입

자바스크립트는 동적 타입 언어로, 변수를 선언할 때 해당 변수에 어떤 종류의 데이터를 저장할지 명시적으로 선언할 필요가 없습니다. 대신, 변수에 할당되는 값에 따라 자동으로 데이터 타입이 결정됩니다. 자바스크립트의 기본 데이터 타입은 다음과 같습니다:

  1. 숫자(Number): 숫자를 나타내는 데이터 타입입니다. 예를 들면 1, 3.14와 같은 실수 값이 있습니다.
  2. 문자열(String): 문자열을 나타내는 데이터 타입으로, 작은따옴표(”)나 큰따옴표(“”)로 감싸진 텍스트입니다. 예를 들면 'Hello', "World"와 같은 문자열 값이 있습니다.
  3. 불리언(Boolean): true 또는 false 값을 가지는 데이터 타입입니다. 예를 들면 true, false와 같은 불리언 값이 있습니다.
  4. undefined: 값이 할당되지 않은 변수를 나타내는 데이터 타입입니다. 예를 들면 let x;와 같이 변수를 선언하고 값을 할당하지 않은 경우입니다.
  5. null: 값이 존재하지 않음을 나타내는 데이터 타입입니다. 예를 들면 let y = null;과 같이 null 값을 변수에 할당하는 경우입니다.
  6. 객체(Object): 여러 개의 속성(key-value 쌍)으로 구성된 복잡한 데이터 타입입니다. 예를 들면 { name: 'John', age: 30 }과 같이 중괄호로 둘러싸여 있는 객체입니다.
  7. 배열(Array): 여러 개의 값이 순차적으로 저장된 데이터 타입입니다. 예를 들면 [1, 2, 3]과 같이 대괄호로 둘러싸여 있는 배열입니다.

타입 변환

자바스크립트에서는 변수의 데이터 타입을 자동으로 변환하는 암묵적인 타입 변환(implicit type conversion)과 명시적인 타입 변환(explicit type conversion)을 할 수 있습니다. 이 두 가지 변환 방법을 살펴보겠습니다.

1. 암묵적인 타입 변환

암묵적인 타입 변환은 자바스크립트 엔진이 자동으로 타입을 변환해주는 것을 의미합니다. 예를 들어, 문자열과 숫자를 더할 때 자동으로 숫자를 문자열로 변환하여 연결해줍니다.

let a = 10;
let b = '20';

let result = a + b; // 암묵적인 타입 변환 발생
console.log(result); // '1020' 출력

위 예시에서는 숫자 10과 문자열 '20'을 더했을 때, 자바스크립트 엔진이 문자열로 변환하여 '1020'이라는 결과를 반환합니다. 이는 자바스크립트의 유연성을 나타내는 특징입니다.

2. 명시적인 타입 변환

명시적인 타입 변환은 개발자가 의도적으로 데이터 타입을 변환하는 것을 의미합니다. 이를 통해 데이터 타입을 제어하고 원하는 연산을 수행할 수 있습니다. 자바스크립트에서는 몇 가지 방법으로 명시적인 타입 변환을 할 수 있습니다.

2-1. 문자열로 변환하기

숫자나 불리언을 문자열로 변환하려면 String() 함수를 사용하거나, 변수 뒤에 빈 문자열('')을 덧붙입니다.

let num = 42;
let str = String(num); // String() 함수를 사용한 변환
console.log(str); // '42' 출력

let bool = true;
let emptyStr = bool + ''; // 빈 문자열을 덧붙여 변환
console.log(emptyStr); // 'true' 출력
2-2. 숫자로 변환하기

문자열을 숫자로 변환하려면 parseInt() 또는 parseFloat() 함수를 사용하거나, Number() 함수를 사용합니다.

let str = '123';
let num = parseInt(str); // parseInt() 함수를 사용한 변환
console.log(num); // 123 출력

let floatStr = '3.14';
let floatNum = parseFloat(floatStr); // parseFloat() 함수를 사용한 변환
console.log(floatNum); // 3.14 출력

let bool = true;
let boolNum = Number(bool); // Number() 함수를 사용한 변환
console.log(boolNum); // 1 출력
2-3. 불리언으로 변환하기

숫자나 문자열을 불리언으로 변환하려면 Boolean() 함수를 사용합니다. 숫자 0, 빈 문자열(''), null, undefined, NaN은 모두 불리언으로 변환할 때 false로 처리됩니다. 그 외의 값은 모두 true로 처리됩니다.

let num = 0;
let bool = Boolean(num); // Boolean() 함수를 사용한 변환
console.log(bool); // false 출력

let str = '';
let boolStr = Boolean(str); // Boolean() 함수를 사용한 변환
console.log(boolStr); // false 출력

let notEmptyStr = 'Hello';
let boolNotEmptyStr = Boolean(notEmptyStr); // Boolean() 함수를 사용한 변환
console.log(boolNotEmptyStr); // true 출력

타입 강제 변환

타입 강제 변환은 자바스크립트에서 데이터 타입을 명시적으로 변환하면서 동시에 다른 데이터 타입으로 강제합니다. 일반적으로는 비교 연산자나 논리 연산자에서 사용되며, 특정한 조건에 따라 값을 강제로 변환시킬 때 사용됩니다.

1. 숫자 강제 변환

문자열을 숫자로 강제 변환할 때는 + 연산자를 사용합니다.

let str = '42';
let num = +str; // + 연산자를 사용한 강제 변환
console.log(num); // 42 출력
2. 문자열 강제 변환

숫자를 문자열로 강제 변환할 때는 빈 문자열('')을 덧붙입니다.

let num = 42;
let str = '' + num; // 빈 문자열을 덧붙여 강제 변환
console.log(str); // '42' 출력
3. 불리언 강제 변환

불리언 값을 강제로 변환할 때는 !! 연산자를 사용합니다. !!는 값을 불리언으로 변환한 후, 다시 원래의 값으로 변환하는 효과를 가지고 있습니다.

let value = 1;
let bool = !!value; // !! 연산자를 사용한 강제 변환
console.log(bool); // true 출력

주의해야 할 점

  1. 타입 변환은 코드의 가독성과 유지보수를 위해 신중하게 사용되어야 합니다. 타입을 강제 변환할 때 의도치 않은 결과가 발생할 수 있으므로, 주의가 필요합니다.
  2. 암묵적인 타입 변환은 가독성을 해치지 않을 때에만 사용되어야 합니다. 가독성을 위해 명시적인 타입 변환을 사용하는 것이 좋습니다.
  3. 타입 변환은 자바스크립트의 유연성을 활용하는 방법 중 하나입니다. 하지만 과도한 타입 변환은 코드의 복잡성을 증가시킬 수 있으므로, 필요한 경우에만 사용하는 것이 좋습니다.
  4. 타입 강제 변환은 주의해서 사용해야 합니다. 값의 의도치 않은 변화가 발생할 수 있으므로, 신중하게 사용해야 합니다.

이제 자바스크립트의 기본 문법 중 데이터 타입에 대해 알아보았습니다. 타입 변환과 타입 강제 변환에 대한 내용을 소개하였으며, 다양한 예시와 함께 설명드렸습니다. 자바스크립트에서 데이터 타입과 타입 변환을 제대로 이해하고 활용하면 더욱 효과적인 코드를 작성할 수 있습니다.

답글 남기기