파트1 - 자바스크립트 기본 - 7) 형변환

Lee·2021년 9월 26일


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)

profile
안녕하세요, Python을 주 언어로 사용하는 웹 백엔드 개발자입니다. Flask 기반 웹서비스를 운영하며 이슈 디버깅, 성능 개선, 서비스 안정화를 중심으로 업무를 수행했습니다. Docker 환경에서 서비스 및 ELK 스택을 구성하고 폐쇄망 환경에서의 배포 효율 개선을 수행했습니다. Celery + Redis 기반 비동기 처리, DB Migration, 쿼리 최적화를 통해 서비스 성능을 개선했습니다.

0개의 댓글