Menu
Coddy logo textTech

타입 강제 변환

Coddy JavaScript 여정의 기초 섹션에 포함된 레슨 — 77개 중 22번째.

자바스크립트에서 타입 강제 변환(Type coercion)은 값을 한 데이터 타입에서 다른 데이터 타입으로 자동 변환하는 것을 의미합니다. 이는 특정 연산에서 암시적으로 발생하거나, String(), Number(), 또는 Boolean()과 같은 함수를 사용할 때 명시적으로 발생할 수 있습니다.

암시적 형 변환은 느슨한 동등 연산자 ==를 사용하거나, 숫자를 문자열에 더하는 것과 같이 서로 다른 타입 간의 연산을 수행할 때 자주 발생합니다.

예를 들어:

let result = 5 + "5";
// "55"를 가집니다. 숫자 5가 암시적으로 문자열 "5"로 변환된 후 연결되기 때문입니다.
let result = true == 1;
// 불리언 true가 숫자 1로 암시적으로 변환되기 때문에 true가 됩니다

명시적 타입 변환은 내장 함수를 사용하여 수행할 수 있습니다:

  • String(value)는 값을 문자열로 변환합니다
  • Number(value)은(는) 값을 숫자로 변환합니다
  • Boolean(value) 값을 불리언으로 변환합니다

예를 들어:

let num = "123";
let str = Number(num) + 7; // 130을 가짐
console.log(str); 
let bool = true;
let numBool = Number(bool); // 1을 가집니다

타입 강제(type coercion)를 이해하는 것은 정확한 JavaScript 코드를 작성하고 예상치 못한 결과를 방지하는 데 매우 중요합니다.

challenge icon

챌린지

초급

여러 가지 타입의 변수들이 포함된 코드가 주어집니다.

여러분의 작업은 타입 강제 변환(type coercion)을 수행하고 그 결과를 출력하는 것입니다:

  1. 숫자 num을 문자열로 변환하여 a라는 이름의 변수에 저장하세요.
  2. 불리언 bool을 숫자로 변환하여 b라는 이름의 변수에 저장하세요.
  3. 문자열 str을 숫자로 변환하여 c라는 이름의 변수에 저장하세요.
  4. numstr을 연결하여 암시적 타입 강제 변환을 수행하고, 그 결과를 d라는 이름의 변수에 저장하세요.

처음 세 작업에는 명시적 타입 변환 함수(String(), Number())를 사용하고, 마지막 작업에서는 암시적 강제 변환이 일어나는 것을 관찰하세요.

치트 시트

JavaScript에서의 타입 강제 변환(Type coercion)은 값의 데이터 타입을 한 타입에서 다른 타입으로 자동 변환하는 것을 의미합니다.

암시적 타입 강제 변환(Implicit type coercion)은 연산 중에 자동으로 발생합니다:

let result = 5 + "5"; // "55" - number converted to string
let result = true == 1; // true - boolean converted to number

명시적 타입 강제 변환(Explicit type coercion)은 내장 함수를 사용합니다:

  • String(value)는 값을 문자열로 변환합니다
  • Number(value)는 값을 숫자로 변환합니다
  • Boolean(value)는 값을 불리언으로 변환합니다
let num = "123";
let str = Number(num) + 7; // 130

let bool = true;
let numBool = Number(bool); // 1

직접 해보기

// 주어진 변수
let num = 42
let bool = false
let str = "7"

// 아래에 코드를 입력하세요


// 아래 줄을 변경하지 마세요
console.log(`a = ${a}`)
console.log(`b = ${b}`)
console.log(`c = ${c}`)
console.log(`d = ${d}`)
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨