변수에는 어떤 데이터 타입이라도 들어갈 수 있다.
문자열 => 따옴표로 묶음.
console.log("Hello " + "World"); VM3645:1 Hello World
문자열의 경우에는 더하기연산만 가능하다.
따옴표로 감싸진 모든 데이터는 텍스트로 변환이 된다.
따라서 "100"는 문자열인 반면 100 은 숫자라는 것을 명심!!
숫자타입은 모든 연산이 가능함.
문자열과 숫자를 더하게 되면 숫자도 문자열로 변환이 되어 반환이 되는것을 볼 수 있다.
반환: 기능을 동작시켰을때 그 결과로 무언가를 돌려받는다는 의미
위의 이미지를 다시 보면결과로 나온 것들의 숫자와 문자가 색이 다른것을 볼 수 있다.
이번에는 숫자 1 과 빈문자열의 덧셈을 찍어본다.
다른 결과들중 숫자는 파란색으로 나온것에 반해 여기서 숫자로 나온 것 같지만 다른것들과는 색이 다른것을 볼 수 있다. 이 또한 숫자와 문자열의 덧셈이기에 숫자도 문자열로 바뀌게 된것이다.
그럼 이번에는 문자열과 숫자의 다른 계산을 진행해 보자.
'a' * 1 을 console.log로 찍어보니 NaN이 나온다. => Not a Number의 약자.
문자열을 포함하는 연산에서 더하기가 아닌 연산을 시도한다면 결과는 NaN이 나오게된다.
(문자열끼리의 연산일 경우에도 마찬가지이다)
문자열숫자 와 숫자의 연산(더하기말고) => 제대로 연산이 되는데 이유는?
자바스크립트에서 산술연산자와 데이터가 만나면 그 데이터가 숫자로 변환이 가능한지를 먼저 보게됨. 변환이 가능하다면 계산이 진행되고, 문자등 숫자로 변환이 안된다면 NaN값을 반환함.