JavaScript/Javascript

숫자와 문자(문자의 표현)

MoZZANG 2022. 2. 14. 11:00

앞선 포스팅에서 큰 따옴표(")나 작은 따옴표(')가 붙지 않은 숫자는 숫자로 인식한다고 했다.

 

그 말인 즉슨 큰 따옴표(")나 작은 따옴표(')가 붙은 숫자는 숫자가 아니라는 말이다. 즉, 문자로 본다는 것이다.

 

큰 따옴표(")나 작은 따옴표(')로 감싸게 되면, 그것이 문자이건 숫자이건 결과적으로 browser는 문자열(String)으로 인식한다는 것이다.

 

또한 큰 따옴표(") 또는 작은 따옴표(')중 하나로 시작하면 동일한 종류의 따옴표로 끝나야한다.

 

▼ 큰 따옴표로 시작하면 큰 따옴표로 끝나야하고, 작은 따옴표로 시작하면 작은 따옴표로 끝나야 한다는 것.

출력값은 동일하게 Javascript이다.

 

만약 문자안에 따옴표를 넣고 싶으면 어떻게 하면 될까?

▲ 웹브라우저에서 실행했다면 아무것도 실행되지 않을 것이고, 개발자 도구와 같은 console에서 실행한다면 위와 같은 에러 메세지가 출력될 것이다. 

browser는 작은 따옴표 사이에 있는 것을 문자열로 인식하므로 Moon은 문자열로 인식을 했지만 Javascript뒤에 나오는 따옴표때문에 어리둥절 하는 것이다.

 

browser의 속마음 : "Moon은 문자열로 하라고? OK! 근데 마지막에 작은 따옴표로 열었으면 닫아줘야지! 어디까지를 문자열로 보라는 거야?!"

 

▼ 이런 에러를 내지 않기 위해 다음과 같은 방법들로 원하는 값을 출력할 수 있을 것이다.

방법 1. 문장 전체는 큰 따옴표로 감싸준다.

방법 2. 역슬래쉬 뒤에 따옴표를 써주면 단순 문자로 취급하게 된다. 

          (이렇게 기존 기능에서 탈출시켜주는 기능을 가져있다고 해서 역슬래쉬를 'Escape 문자'=탈출 문자 라고한다.)

 

 

 

 

 

그렇다면 숫자를 따옴표로 감싸면 어떻게 될까?

▲ 결과적으로 본다면 출력값은 동일하게 1 이다.

 

 

하지만 각각의 진짜 모습(?)을 알 수 있는 기능은 typeof 기능을 사용하여 본다면

▲ 따옴표가 없는 쪽은 browser가 숫자로 인식하는 반면, 따옴표로 감싼 쪽은 문자열로 인식한다는 것을 알 수 있다.

 

따라서 아래와 같은 결과를 볼 수 있다.

▲ 위쪽은 숫자로 인식하여 덧셈을 수행하여 2라는 결과값을 도출하는 반면,

    아래쪽은 1이라는 문자 두개를 붙인 문자 '11'을 출력하는 것을 볼 수 있다.

 

이처럼 프로그래밍 언어에서 따옴표의 유무는 결과값이 완전히 달라지게 만들 수 있다.

 

 

 

 

'JavaScript > Javascript' 카테고리의 다른 글

조건문(part. 2)  (0) 2022.02.14
조건문(part.1)  (0) 2022.02.14
비교 연산자  (0) 2022.02.14
변수(Variable)  (0) 2022.02.14
숫자와 문자(수의 연산)  (0) 2022.02.14