Javascript 와 String 문자열

박성룡 ( Andrew park )
4 min readMay 14, 2019

--

자바스크립트를 처음부터 다시 공부해보려고 한다.

컴퓨터 프로그래밍과 형식 언어 이론에서 문자열은 기호의 순차 수열을 말하며, 스트링 (string)이라고도 표현 한다. 이러한 기호는 미리 정의된 집합이나 음소 문자에서 선택한다.

프로그래밍에서 문자열은 일반적으로, 요소가 문자 인코딩과 관련된 문자를 대표하는 일련의 자료값을 저장하고 있는 자료형으로 이해할 수 있다. 여기서 문자 인코딩의 경우 더 일반적인 배열 자료형과 차이가 있다. 이러한 환경에서 ‘binary string’과 ‘byte string’이라는 용어는 저장된 자료가 반드시 텍스트를 표시하지 않아도 되는 문자열을 표시하는 데 사용된다.

문자열 자료형으로 선언된 변수의 경우, 미리 정의된 어느 정도의 기호를 소유할 수 있는 메모리에 기억 자료를 할당하는 것이 보통이다. 문자열이 소스 코드에 보이면 그 문자열을 string literal이라고 일컫는다.

Javascript 에서 문자열 선언

Javascript 에서 문자열을 선언하는 방법은 문자열 리터럴 로 선언하는 방식과, String 전역 객체 로 생성하는 방식 그리고 템플릿 리터럴 으로 선언하는 방식이 존재한다.

‘ 과 “ 의 차이는 없다. 하지만 반드시 같은것으로 끝나야 한다.

“test’ 은 SyntaxError 가 발생한다.

Javascript 에서는 문자 하나당 UTF-16 코드 문자를 사용한다.

문자열의 형태

Javascript에서 문자열은 Array Like 형태로 참조할 수 하다.

length 를 가지며, 문자열[index] 형태로 접근할 수 있다.

length 값은 UTF-16 코드 유닛을 기준으로 문자열의 길이를 반환한다.

문자열은 한번 선언되면 변하지 않는다.

변수의 문자열을 바꾼다면, 기존 문자열을 제거하고 다시 선언한다.

String 변환 방법

Javascript 에서 다른 데이터형식 (숫자, 객체) 을 문자열 형으로 변환하는 방법이 여러가지가 있다.

String 객체

String(value)
String 전역 객체를 이용해 문자열을 가져올 수 있다.

String 생성자

new String(value).valueOf()
String 객체는 valueOf 메서드 로 원시 문자열을 가져올 수 있다.

문자열 연산

‘’ + value
문자열 과 다른 데이터 형태가 연산이 이루어 지면, 다른 형태의 데이터를 문자열로 변환한후 문자열 과 문자열을 합치는 작업으로 새로운 문자열을 반환한다.

toString 메서드

value.toString()
모든 객체는 Object.prototype 의 toString 메서드를 참조할 수 있다. toString으로 문자열을 반환할 수 있다.

템플릿 리터럴

`${value}`
템플릿 리터럴의 ${} 표현식 은 처리된 값을 문자열로 반환한다.

템플릿 리터럴

템플릿 리터럴은 `` 으로 선언할 수 있다.

개행 문자를 따로 쓰지 않더라도 개행 문자를 인식한다.

${} 을 이용해 표현식 삽입 (Expression interpolation) 으로 읽기 쉬운 문자열을 만들 수 있다.

표현식에 작성된 값은 문자열로 변환된다.

템플릿 에는 특별한 raw 프로퍼티가 존재한다.

raw 프로퍼티를 이용하면 원시 문자열을 출력할 수 있다.

이스케이프 문

특수문자는 \ 를 이용해서 이스케이프 문을 작성할 수 있다.

주로 아래 문을 많이 사용한다.

- \’ 작은따옴표
- \” 큰따옴표
- \\ 역슬래시
- \n 개행
- \r 캐리지 리턴
- \t
- \uXXXX 유니코드 코드

문자열 비교

==, <=, >= 의 비교 연산자는 비교하기 전에 같은 데이터 형식으로 변환하여 비교한다.

때문에 “[object Object]” == {} 형태가 가능하다.

문자열은 유니코드 값을 사용해 표준 사서편집 (lexicographical) 상 순서로 비교 연산이 가능하다.

String.prototype.localeCompare 로도 비교 연산을 할 수 있다.

같으면 0, 크면 -1, 작으면 1 을 반환한다.

String Prototype

String Prototype 에는 많은 메서드가 존재한다.

그중 아래 메서드를 자주 사용한다.

--

--