반응형
타입에 대한 이해
자바스크립트의 모든 값(value)는 각자 타입을 가지고 있다. 평소에 우리는 무의식적으로 숫자와 문자를 구분하지 않고 이야기하지만, 우리는 이를 무의식적으로 구분할 수 있을 만큼 똑똑합니다. 하지만 컴퓨터는 상황과 문맥을 이해하는 능력이 없습니다.
컴퓨터가 명확하게 표현하기 위해서는 모든 값에 타입을 정해주고, 그에 맞게 행동하도록 규정을 정해줘야 했습니다.
let person = '혜선';
let date = '일요일';
let quantity = 1;
letsGoGetFood('혜선', '일요일', 1);
문자열은 ', " 따옴표로 둘러 쌓아 표시해주고, 숫자열은 그대로 숫자를 입력하여 구분할 수 있습니다.
타입에 따른 코드 작동 방식의 차이
let word = 'hello' + ' ' + 'world'; // 'hello world'
let count = 32 + 1; // 33
string과 string을 더하면, 문자열과 문자열이 붙은 형태로 표현된다.
number와 number을 더한다면, 덧셈 연산이 표현된다.
웹 브라우저에 적혀있는 정보를 가져오면 보통 string의 형태로 받아오게 되어 숫자로 세고 싶은 정보도 string으로 인식하기 때문에, 정상적인 숫자를 위한 연산을 수행할 수 없다.
이를 해결하기 위해서는 타입을 변경하는 방법이 있다.
String()
let age = 23;
String(age) // '23'
string()을 통해 변수 age의 값, 숫자형 23을 문자형 '23'으로 변환했다.
Number()
let age = '23'
Number(age) // 23
Number()을 통해 변수 age의 값, 문자형 '23'을 숫자형 23으로 변환했다.
이와 같이 숫자형과 문자형을 변환할 수 있다.
let name = 'deemmun'
Number(name) // NaN
하지만, 수로 변환할 수 없는 경우 수가 아님을 나타내는 특수한 값 NaN (Not-a-Number)이 나온다.
string과 number 타입 이외에도 각 타입 별 코드의 작동이 다를 수 있다는 점을 유의해야 한다.
반응형
'Code > JavaScript' 카테고리의 다른 글
Javascript 스트링 메소드(String Method)와 문자열 기본 사용법 (0) | 2020.09.13 |
---|---|
Javascript 조건문 if, 비교 연산자, 논리 연산자 (0) | 2020.09.13 |
Javascript 함수(function), return 명령문, 함수선언 및 개념 (0) | 2020.09.13 |
Javascript // 타입 (type)과 종류 (0) | 2020.09.13 |
JavaScript 변수 (0) | 2020.09.07 |