문자열(String) 자료형은 텍스트 형태의 데이터를 의미합니다.
다음과 같이 문자열을 사용할 수 있습니다.
'Hello World!'
"Hello World!"
"中文 español Deutsch English देवनागरी العربية português বাংলা русский 日本語 norsk bokmål ਪੰਜਾਬੀ 한국어 தமிழ் עברית"
다른 프로그래밍 언어들과 달리 자바스크립트는 큰따옴표 문자열과 작은따옴표 문자열 간의 차이가 없으며, 처음과 끝의 기호가 일치하면 됩니다.
그리고 매우 긴 문자열을 처리할 때에는 두 가지 방법이 있습니다.
1. + 연산자 사용하기
let longString = "여러 줄에 걸쳐 작성해야 할 정도로 " +
"긴 문자열인데 왜 한 줄에 다 적으면 안되냐면 " +
"코드를 읽기 힘들어지니까요.";
2. 역슬래시 문자('\')를 각 줄의 끝에 붙여서 문자열을 이어붙이기
let longString = "여러 줄에 걸쳐 작성해야 할 정도로 \
긴 문자열인데 왜 한 줄에 다 적으면 안되냐면 \
코드를 읽기 힘들어지니까요.";
두 예시의 결과는 같습니다.
각자 기준에 맞게 선택해서 사용하면 되겠습니다.
이스케이프 표현
코드 | 출력 |
\XXX | 8진수 Latin-1 문자 |
\' | 작은따옴표 |
\" | 큰따옴표 |
\\ | 역슬래시 |
\n | 개행 |
\r | 캐리지 리턴 |
\v | 세로 탭 |
\t | 탭 |
\b | 백 스페이스 |
\f | 폼 피드 |
\uXXXX | 유니코드 코드포인트 |
\u{X} ... \u{XXXXXX} | 유니코드 코드포인트 |
\xXX | Latin-1 문자 |
특수 문자는 위 표에 나와있는 이스케이프 표현을 통해 표현할 수 있습니다.
문자열 접근
자바스크립트에서 문자열 내부의 각 문자에 접근할 수 있는 방법은 두 가지가 있습니다. 첫 번째는 chatAt 메소드를 사용하는 것이고 두 번째는 배열처럼 문자에 해당하는 숫자를 인덱스로 사용하여 브라켓([]) 표기법으로 접근하는 것입니다.
"Hello World!".charAt(0); // 'H'
"Hello World!"[1]; // 'e'
문자열 비교
자바스크립트에서는 비교 연산자를 통하여 문자열 비교가 가능합니다.
let a = "a";
let b = "b";
if (a < b) { // true
console.log(a + " is less than " + b);
} else if (a > b) {
console.log(a + " is greater than " + b);
} else {
console.log(a + " and " + b + " are equal.");
}
문자열 검색
String 객체의 내장 메소드인 indexOf를 사용하면 부분 문자열을 검색할 수 있습니다.
indexOf는 찾는 문자열이 String 객체에 존재하면 해당 문자열의 첫번째 글자 위치를 반환하고, 존재하지 않는다면 -1을 반환합니다.
let str = "Hello World!";
str.indexOf("lo"); // 3
str.indexOf("없는 문자열"); // -1
부분 문자열 추출
substring 내장 메소드를 사용하면 원하는 위치의 문자열을 따로 추출해낼 수 있습니다.
let str = "Hello World!";
str.substring(6, 12); // 'World!'
indexOf 메소드와 함께 사용하면 다음과 같은 응용 또한 가능합니다.
let str = "-------------:Hello World!:----------------"
let start = str.indexOf(':');
let end = str.indexOf(':', start+1);
str.substring(start + 1, end); // 'Hello World!'
기준 문자를 통해 여러 문자열로 나누기
String 내장 메소드인 split을 사용하면 특정 문자 또는 특정 문자열을 기준으로 원래의 문자열을 분리시킬 수 있습니다.
let str = 'a,b,c,d';
str.split(','); // ['a','b','c','d']
let str = 'Hello and World!';
str.split(' and '); // ['Hello','World!']
분리된 문자열들은 Array(배열) 타입으로 반환됩니다.
'웹프로그래밍 > javascript' 카테고리의 다른 글
자바스크립트(javascript) 템플릿 문자열(template strings) 알아보기 (0) | 2020.01.25 |
---|---|
자바스크립트(javascript) null과 undefined의 차이 (0) | 2020.01.25 |
자바스크립트(javascript) Number 자료형과 Infinity, NaN (0) | 2020.01.21 |
자바스크립트(javascript)에서 사용되는 자료형이란? (0) | 2020.01.20 |
자바스크립트를 실행하기 위한 Node.js REPL 환경이란? (0) | 2020.01.19 |