명시적타입 변환
또는 타입 캐스팅
이라 한다.ex)
var x = 10 ;
// 명시적 타입 변환
//숫자를 문자열로 타입 캐스팅
var str = x.toString();
console.log(typeof str, str) ; // string, 10
// x변수의 값이 변경된 것은 아니다.
console.log(typeof x, x) // number, 10
암묵적 타입변환
또는 타입강제변환
이라 한다.var x = 10 ;
var str = x + "" ;
console.log(typeof str, str) // string 10
표준 빌트인 생성자 함수
- 객체를 생성하기 위한 함수이며 new 연산자와 함께 호출한다.
문자열 타입으로 변환
1) String()
2) object.prototype.toString()
3) 문자열 연결 연산자 사용
ex) 1+ "" -> "1"
숫자 타입으로 변환
1) Number()
2) ParseInt(), ParseFloat() (문자열만 숫자타입으로 변경가능)
3) + 단항 산술 연산자 사용
ex) + "0" -> 0
4) 산술 연산자 사용
ex) "0" x 1 -> 0
불리언 타입으로 반환
1) Boolean()
2) ! 부정논리연산자 두번사용
ex) !!"x" -> true
논리곱 연산자는 좌항에서 우항으로 평가 진행된다
(논리 연산의 결과를 결정하는 두번째 피연산자를 반환한다)
ex) "cat" && "dog" -> "dog"
논리합 연산자는 논리연산의 결과를 결정한 첫번째 피연산자를 반환한다
ex) "cat" || "dog" -> "cat"
객체를 가리키기를 기대하는 변수가 null 또는 undefined가 아닌지 확인하고 프로퍼티를 참조할 때
- 객체는 키와 value로 구성된 프로퍼티의 집합이다. 만약 객체를 가리키기를 기대하는 변수의 값이 객체가 아니라 null 또는 undefiend인 경우 참조하면 타입에러가 발생한다.
var elem = null
var value = elem.value // 타입에러
// 여기서 단축평가를 사용하면 에러발생안함
var elem = null
var value = elem && elem.value // null