길잃은곰
길을 잃어 떠도는 곰
길잃은곰
전체 방문자
오늘
어제
  • 분류 전체보기 (87)
    • Algorithm (6)
    • HTML, CSS (9)
    • Frontend (1)
    • SW공학 (1)
    • WEB (4)
    • Javascript (29)
    • Typescript (0)
    • React (8)
    • Computer Science (11)
    • NEWS (0)
    • TIL(WIL) (4)
    • ETC (5)

블로그 메뉴

  • ✨깃허브
  • 홈
  • 태그
  • 방명록

인기 글

태그

  • js2016
  • element
  • VH
  • 코테
  • 코드트리
  • %
  • Pixel
  • Es5
  • 연탄
  • root-element
  • ES8
  • PX
  • VW
  • JavaScript
  • ES6
  • EM
  • 자바스크립트
  • ES7
  • javascript2016
  • REM
hELLO · Designed By 정상우.
길잃은곰

길을 잃어 떠도는 곰

Javascript

[ Javascript ] 자바스크립트에서 데이터 형변환

2023. 1. 17. 04:01

데이터 형변환

자바스크립트에는 기본적으로 변수에는 데이터 타입이 없으며, 값에 따라 자동으로 데이터 타입이 결정된다. 이를 동적 타이핑이라고 한다.

let a = 1;
console.log(typeof a, a); // number 1
a += "hello";
console.log(typeof a, a); // string 1hello
a = true;
console.log(typeof a, a); // boolean true

=> 자바스크립트에서는 데이터 타입이 없기 때문에, 변수에 값을 할당할 때마다 데이터 타입이 변경된다.
위 예제에서 a는 처음에 number 타입이었지만, 문자열을 더하면서 string 타입으로 변경되었다. 그리고 true를 할당하면서 boolean 타입으로 변경되었다.

위 코드의 a+= "hello"는 a = a (1) + "hello" (문자열) 을 더했는데, 어떻게 1hello 가 되었을까?
이는 암시적 형변환이 일어났기 때문이다.

암시적 형변환 (Implicit Type Conversion)

자바스크립트에서는 직접적으로 데이터 타입을 변환하지 않아도, 암시적으로 데이터 타입이 변환되는 경우가 있다.
위의 1hello 예제에서 1 + "hello"가 되는 것이 바로 암시적 형변환이다.

암시적 형변환이 일어나는 경우

  1. 문자열 연결 연산자 (+)를 사용할 때
let a = 1;
let b = "hello";
let c = a + b;
console.log(typeof c, c); // string 1hello
  1. Equality 연산자 (==)를 사용할 때
let a = 1;
let b = "1";
console.log(a == b); 
// true

명시적 형변환 (Explicit Type Conversion)

명시적 형변환은 개발자가 직접 데이터 타입을 변환하는 것을 말한다.

명시적 형변환 방법

  1. Number(), parseInt(), parseFloat()
    => 문자열을 숫자로 변환
let a = "1";
console.log(Number(a)); // 1
console.log(parseInt(a)); // 1
console.log(parseFloat(a)); // 1
  1. String(), toString()
    => 숫자를 문자열로 변환
let a = 1;
console.log(String(a)); // "1"
console.log(a.toString()); // "1"
  1. Boolean()
    => 숫자, 문자열, null, undefined, NaN, 0, ""을 제외한 모든 값은 true로 변환된다.
let a = 1;
let b = "hello";
let c = null;
console.log(Boolean(a)); // true
console.log(Boolean(b)); // true
console.log(Boolean(c)); // false

 

Reference
  • 자바스크립트의 형변환
저작자표시 비영리 동일조건 (새창열림)

'Javascript' 카테고리의 다른 글

[ JavaScript ] 자바스크립트 메모리 관리  (0) 2023.01.17
[ JavaScript ] map, forEach, reduce  (0) 2023.01.17
[ Javascript ] 불변성을 유지하는 방법  (0) 2023.01.17
[ Javascript ] Ajax 란 무엇인가  (0) 2023.01.17
[ Javascript ] This 란 무엇인가?  (0) 2023.01.17
    'Javascript' 카테고리의 다른 글
    • [ JavaScript ] 자바스크립트 메모리 관리
    • [ JavaScript ] map, forEach, reduce
    • [ Javascript ] 불변성을 유지하는 방법
    • [ Javascript ] Ajax 란 무엇인가
    길잃은곰
    길잃은곰

    티스토리툴바