오늘은 '타입(Type)'에 대해서 기록을 남겨본다.
자바스크립트에서는 모든 '값(value)'은 각자의 타입을 가지고 있다. 우리는 우월한 인간이기 때문에 숫자와 문자를 구분하지 않고 이해하고, 알아서 구분할 정도록 똑똑(?)하다. 하지만 컴퓨터는 상황과 문맥을 이해하는 능력이 없다.
예를 들자면!
'일요일 아침에 일찍 일어나는 새가 더 피곤하다.';
이러한 문장이 있는데, 컴퓨터에게 숫자를 구분하는 방식을 알려주었는데...
'1요1 아침에 1찍 1어나는 새가 더 피곤하다.';
세상에나....... 하나부터 열까지를 다 세세하게 알려 줘야한다.... 즉, 모든 값에 타입을 정해주고, 알려주고 달래주어야 한다.
우리는 컴퓨터에게 문자라는 것을 인식 시켜 주어야 한다. 그러기 위해서는 작은따옴표( ' )와 큰따옴표( " )를 문자에 감싸주어야 한다. 이렇게 "안녕하세요" 우리는 문자열을 'string'이라고 한다. 그리고 숫자는 따로 감싸주는 것 없이 1234 표기하면 된다. 숫자는 'number'라고 한다.
그렇다면 다음 코드를 보자.
let sum = 1 + 1; // 2
let sum1 = 1 + '1' // 11
첫번째 줄의 코드는 단순 숫자 계산이라서, 2라고 나오지만 두번째 줄은 숫자 1과 문자열 1의 더하는 것이기 때문에 숫자 1에다가 문자열 1을 붙인 형태로 나타나게 된다. (댕청)
이런 불상사를 막기 위해서는 바른 문법을 작성하고 타입의 대한 이해가 필요하다!
타입을 변경하는 함수가 있다. 대표적으로 Number(); 그리고 String();이 있다.
function makeNumber(anything) {
console.log(Number(anything));
}
makeNumber("777") // 777
위 코드로 makeNumber라는 함수를 만들어 주었고, 전달인자를 받으면 인자를 숫자로 변경시켜준다. 그래서 '777'이라는 문자열을 넣고 실행시키면 따란~ 777이라는 숫자로 변경시켜준다.
function makeString(anything) {
console.log(String(anything));
}
makeString(1234) // "1234"
이 함수는 뭐.. 말해뭐해~
다음에는 연산자를 조금 더 기록해보자!
'리코딩 : 자바스크립트(JavaScript)' 카테고리의 다른 글
자바스크립트 2. 조건문 (0) | 2020.09.20 |
---|---|
자바스크립트 1. 변수와 자료형 : 연산자 (0) | 2020.09.18 |
자바스크립트 1. 변수와 자료형 : 함수 (0) | 2020.09.18 |
자바스크립트 1. 변수와 자료형 : 변수의 선언과 할당 (0) | 2020.09.18 |
나의 코딩 기록 : 리코딩(LeeCoding) (0) | 2020.09.18 |