본문 바로가기
Study/JavaScript

타입변환

by dev_kong 2021. 11. 22.
728x90
728x90

여기다 뭘 쓸까 했는데, 공부하다가 충격적인거 쓰면 될 듯하다.

코테 연습문제 풀고, 다른사람 풀이 보다가 알게 된건데,

string 앞에다가 + 붙이면 number 로 바뀜

number + ''하면 string 으로 바뀜

엌ㅋㅋㅋㅋㅋㅋ

const a = 1 + '';
const b = +'2';

console.log(typeof a, a); //string 1
console.log(typeof b, b); //number 2

우리집 시니어 개발자한테 물어봤더니

책에서 관련 내용 찾아주면서 읽어보라했당ㅎㅎ

 

타입변환에는 두가지 종류가 있다.

첫번째는 개발자가 의도적으로 타입을 변경하는

명시적 타입변환(explicit coercion)

두번째는 자바스크립트 엔진에 의한 자동변환인

암묵적 타입변환(implicit coercion)

이 있다

내가 보고 이게 뭐야 했던 부분은 암묵적 타입변환이다.

 

number -> string

String(1)      // "1"
(1).toString   // "1"
1 + ''         // "1"

 

1. String 생성자 함수

2. toString method

3. 암묵적 타입 변환인 +''

 

 

string -> number

Number('1');     //1
parseInt('1');   //1
parseFloat('1'); //1
'1' * 1;         //1
+'1'             //1

1. Number 생성자 함수

2. parseInt, parseFloat 함수

3. 암묵적 타입변화인 *산술 연산자 이용

4. 마찬가지로 암묵적 타입변화인 +단항 산술 연산자 이용

 

암묵적 타입변화가 솔직히 간결하고 조금만 생각해보면 또 이해가 될랑말랑한 느낌이라 

실제로 쓰기에는 편할것 같은데

나처럼 모르는 사람이 보면 뭔데 이게 싶지 않을까 싶다.

아.. 나만 몰랐던 걸 수도..

뭐 무튼 편해보이긴 하는데 

생긴게 "불-편" 하다

 

 

728x90
728x90

댓글