Search
Duplicate
💊

Type Casting

: Type Casting은 한 데이터 유형에서 다른 데이터 유형으로 데이터를 전송하는 것
: 암시적 변환은 컴파일러 또는 런타임이 데이터 유형을 자동으로 변환할 때 발생, 외에도 소스코드는 변환이 발생하도록 명시적으로 요구할 수 있음

Type Conversion vs Coercion

: 유형 강제 변환은 값을 한 데이터 유형에서 다른 데이터 유형으로 자동 또는 암시적으로 변환하는 것(ex: 문자열에서 숫자로)
: 유형 변환은 하나의 주요 차이점을 제외하고 한 데이터 유형에서 다른 데이터 유형으로 값을 변환하기 때문에 유형 강제 변환과 유사, 또한 암시적으로 변환

Explicit Type Casting

: 개발자가 의도를 가지고 소스코드 레벨에서 데이터 타입을 변환시키는 것
: 타입을 변경하는 기본적인 방법은 Object(), Number(), String(), Boolean() 와 같은 함수를 이용
var trans = 100; //Number Object(trans); //100 console.log(typeof trans); //Number String(trans); //”100" console.log(typeof trans); //String Boolean(trans); //true console.log(typeof trans); //Bolean
JavaScript
복사

Implicit Type Casting

: 자바스크립트 엔진이 필요에 따라 자동으로 데이터 타입을 변환시키는 것
산술 연산자
: + 연산자는 숫자보다 문자열이 우선시 되기 때문에 숫자형이 문자형을 만나면 문자형으로 변환되어 처리
// 더하기(+) number + number // number number + string // string string + string // string string + boolean // string number + boolean // number 50 + 50; //100 100 + “점”; //”100점”100+ “점”; //”100점”10+ false; //”100" 99 + true; //100
JavaScript
복사
: 다른 연산자는 숫자형이 문자형보다 우선시되므로 형변환이 발생하지 않는다.
동치 비교
: 아래 예제는 엄격하지 않은 동치 비교로 아래의 결과값은 좌우항 모두 변경할 경우 “0”은 0이기 때문에 모든 항목이 true다
null == undefined0== 0 0 == false0== false
JavaScript
복사
: 위의 비교는 엄격하지 않은 동치 비교일 경우이기 때문에, 두 값을 비교할 때 데이터타입을 변환하지 않는 엄격한 동치(===) 비교를 사용