참치코더의 꿈 메모장

2021/09/15 Javascript - 데이터 타입 (이스케이프 시퀀스) 본문

Javascript

2021/09/15 Javascript - 데이터 타입 (이스케이프 시퀀스)

참치깡 2021. 9. 15. 19:26
728x90

데이터 타입은 값의 종류를 말한다 , 자바스크립트의 모든 값은 데이터 값을 갖는다.

숫자타입 :  숫자와 정수 실수 구분 없이 하나의 숫자 타입만 존재
문자열 타입 : 문자열
불리언 타입 : true or false
undefined 타입 
심벌 타입 : ES6에서 추가된 7번째 타입

숫자 타입 : 자바나 C는 정수와 실수를 구분해서 int, long, float, double과 같은 다양한 숫자 타입을 제공한다

자바스크립트 : 숫자 타입의 값은 배정밀도 64비트 부동소수점 형식을 따른다.
즉 모든 수를 실수로 처리하며 정수만 표현하기 위해 데이터 타입이 별도로 존재하지 않는다.

var integer = 10;
var double = 10.12;
var negative = -20; // 음의 정수

이는 정수로 표현한다고 해도 사실은 실수라는 것을 의미한다

console.log(1 === 1.0); // true

숫자 타입은 추가적으로 세 가지 특별한 값도 표현할 수 있다.

Infinity : 양의 무한대
-Infinity :  음의 무한대
NaN :: 산술 연산 불가

* 자바스크립트는 대소문자를 구별한다

문자열 타입

문자열은 0개 이상의 16비트 유니코드 문자(UTF-16) 의 집합으로 전 세계 대부분의 문자를 표현할 수 있다.

문자열은 작은따옴표(' '), 큰따옴표(" "), 백틱(` `)으로 텍스트를 감싼다

만약 문자열을 따옴표로 감싸지 않으면 스페이스와 같은 공백 문자도 포함시킬 수 없다

자바스크립트는 문자열이 생성되면 그 문자열을 변경할 수 없다

템플릿 리터럴

탬플릿 리터럴은 멀티라인 문자열, 표현식 삽입, 태그드 탬플릿 등 편리한 문자열 처리 기능을 제공한다
탬플릿 리터럴은 런타임에 일반 문자열로 변환되어 처리된다.

렘플릿 리터럴은 작은따옴표 및 큰따옴표 같은 일반적인 따옴표 대신 백틱(` `)을 사용해 표현한다.

var template = `Template literal`;
console.log(template);

멀티라인 문자열

일반 문자열 내에서는 줄바꿈이 허용되지 않는다.

일반 문자열 내에서 줄바꿈 등의 공백을 표현하려면 백슬래시(\)로 시작하는 이스케이프 시퀀스를
사용해야 한다.

이스케이프 시퀀스

\0 null
\b 백스페이스
\f 폼 피드 :  프린터로 출력할 경우 다음 페이지의 시작 지점으로 이동한다
\n 개행 :  다음 행으로 이동
\r 개행 :  커서를 처음으로 이동
\t 탭(수평)
\v 탭(수직)
\uxxx 유니코드.
\' 작은 따옴표
\" 큰 따옴표
\\ 백슬래시 

일반 문자열과 달리 탬플릿 리터럴 내에서는 이스케이프 시퀀스를 사용하지 않고도 

줄바꿈이 허용되며, 모든 공백도 있는 그대로 적용된다.

표현식 삽입

문자열은 문자열 연산자 +를 사용해 연결할 수 있다.
+ 연산자는 피연산자중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작한다

탬플릿 리터럴 내에서는 표현식 삽입을 통해 간단히 문자열을 삽입 할 수 있다.

이를 통해 문자열 연산자 봐 가독성 좋고 간편하게 문자열을 조합할 수 있다.

 first = '처음'

 last = '마지막'

console.log(`name is ${first} ${last} .`)

표현식 삽입은 반드시 탬플릿 리터럴 내에서 사용해야 한다. 
탬플릿 리터럴이 아닌 일반 문자열에서의 표현식 삽입은 문자열로 취급된다

undefined 타입

undefined타입의 값은 undefined가 유일하다

함수가 유효한 값을 반환할 수 없는 경우 명시적으로 null을 반환하기도 한다

심벌(symbol) 타입

변경 불가능한 원시 타입의 값이다
심벌 값은 다른 값과 중복 되지 않는 유일무일한 값이다
따라서 주로 이름이 충돌할 위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용한다

심벌 이외의 원시 값은 리터럴을 통해 생성하지만, 심벌은 Symbol 함수를 호출해 생성한다

이때 생성된 심벌 값은 외부에 노출되지 않으며, 다른 값과 절대 중복되지 않는 유일무일한 값이다.

728x90
Comments