* Javascript는 명시적 타입 정의가 없다.
Java처럼 String, int 등의 타입을 정의하지 않고, var 타입으로 정의하면 JS가 알아서
적절한 타입으로 정의된다.
명시적인 타입이 없어서 헷갈리는 경우가 많고 예상치도 못한 결과가 나와서 당황할 수 있다.
1. 자동 형변환
- 자동 형변환은 프로그램 실행 중 자동으로 형변환이 되는 걸 의미한다.
작은 크기의 데이터 타입을 큰 크기의 데이터 타입으로 변환하는 행위를 말한다.
( 작은놈이 큰 놈으로 변환 )
// 간단한 예시
var kingPork = 10; // number
kingPork += "문자";
console.log(kingPork); // "10문자" = string
kingPork = "2";
kingPork *= 1;
console.log(kingPork); // 2 = number
2. 명시적 타입 변환
- 자동적으로 형변환 되지 않는 경우를 명시적으로 선언해주는 것을 의미.
parseInt("789.123"); // 123
parseInt("29kingPork"); // 29
parseInt("k29"); // NaN
parseInt("029"); // 29
parseInt("0x29"); // 41
parseInt("11101", 2); // 29
parseInt("09", 10); // 9
parseInt("10", 9); // 9
parseFloat("789.123"); // 789.123
parseFloat("29.5kingPork"); // 29.5
parseFloat("k29"); // NaN
parseFloat("05"); // 5
parseFloat("0x29"); // 0
Javascript에서 8진수는 "0"로 시작하고, 16진수는 "0x"로 시작으로 정의
'JavaScript' 카테고리의 다른 글
[JavaScript] 키코드 정리 (JavaScript keyCode) (0) | 2021.07.17 |
---|---|
[JavaScript] Date 객체 사용 시 주의해야 할 점 (크로스 브라우징 이슈) (1) | 2021.07.06 |
[JavaScript] 논리 연산자(&&, ||)를 활용한 간결하고 효율적인 스크립트 작성 TIP (0) | 2021.07.02 |
[Javascript] 객체 property 종류 및 속성 (0) | 2021.07.02 |
[JavaScript] 참 같은 값과 거짓 같은 값? truthy와 falsy (4) | 2021.07.01 |