7) 형변환 : https://ko.javascript.info/type-conversions
문자형으로의 변환
함수나 연산자에 전달되는 값들이 자동으로 적합한 자료형으로 변환되는 것을, 혹은 적합한 자료형으로 변환시키는 것을 (ex. String(값), Number(값)) 형변환(type conversion)이라고 한다.
대표적으로 우리가 앞서 본 함수들 중 하나인 alert 함수의 경우 인자로 문자열을 받는데 boolean 타입이나 숫자가 들어갈 경우 자동으로 해당 숫자를 문자열 형태로 변환 시켜주는 것이다! (전혀 몰랐다)
숫자형으로의 변환
놀라운 건 문자형으로 쓰인 숫자도 중간에 수식이 들어가면 숫자형으로 형변환 된다는 것이다.
alert("3"/"6")
위 함수의 결과는 당연한 듯이 숫자 2 가 나온다.
가운데에 섞인 나눗셈 연산자가 문자형을 숫자형으로 변환 시켜 계산하게 한 것이다.
숫자형에는 또다른 특징이 있는데 boolean, null, undefined 등은 숫자형으로 변환시 1또는0, NaN 로 변환된다는 것이다.
Boolean형으로의 변환
boolean 형으로의 변환은 논리연산을 수행할 때 일어난다.
논리연산에 대한 내용은 뒷챕터에서 다룬다고 되어 있어 대략적으로나마 파악하기 위해 참고한 위키백과의 논리 연산 정의 캡쳐를 첨부한다.
boolean 형으로의 변환은 간단하게 설명하면 '비어있다'고 보여지는 값들은 false, 뭔가 값이 존재하면 true로 변환된다.
예를들어 숫자 0, 문자열 공백 '' 은 빈 값이기 때문에 false가 반환된다.
공백중에도 ' ' 이런식으로 띄어쓰기 값이 들어간 공백은 true로 반환된다!
객체를 형 변환 하는 것은 아직 다루지 않았는데 기본적인 학습을 마친 뒤에 '객체를 원시형으로 변환하기' 단원에서 다룬다고 한다.
(미리 보려면 이쪽을 보면 된다. https://ko.javascript.info/object-toprimitive)