1. 정의
문자열은 텍스트 데이터를 나타내는 데이터 타입으로, 하나 이상의 문자로 구성됩니다. 문자열은 작은 따옴표, 큰 따옴표, 백틱으로 감싸서 생성할 수 있는 불변한 기본 데이터 타입입니다.
2. 문자열 생성
문자열 리터럴로 문자열을 직접 코드에 작성합니다.
작은 따옴표
let str1 = '안녕하세요';
큰 따옴표
let str2 = "Hello, World!";
백틱
let name = 'Alice';
let str3 = `Hello, ${name}!`; // 변수 삽입 가능
3. 문자열 특수 문자
문자열 내에 특수 문자를 사용하는데 이스케이프 문자(\)를 사용하여 특정 기호나 문자를 표현 합니다.
이스케이프 문자
이스케이프 문자는 백슬래쉬로 시작하며 뒤에 오는 문자와 조합됩니다.
\`
작은 따옴표를 문자열에 포함할 때 사용
let quote = 'It\'s a sunny day.'; // It's a sunny day.
\"
큰따옴표를 문자열에 포함할 때 사용
let speech = "She said, \"Hello!\""; // She said, "Hello!"
\\
백슬래쉬 자체를 포함할 때 사용합니다.
let path = "C:\\Program Files\\MyApp"; // C:\Program Files\MyApp
\n
줄 바꿈을 할 때 사용합니다.
let multiline = "Line 1\nLine 2"; // Line 1
// Line 2
\t
탭을 할 때 사용합니다.
let tabbed = "Column1\tColumn2"; // Column1 Column2
\r
캐리지 리턴할 때 사용합니다.
let carriageReturn = "Hello\rWorld"; // World
\b
백스페이스를 나타냅니다.
let backspace = "Hello\bWorld"; // HellWorld
유니코드 문자
유니코드는 전 세계의 모든 문자를 고유하게 표현하기 위한 문자 인코딩 표준입니다. \u 뒤에 4자리 16진수 코드 가ㅏ밧을 사용하여 표현합니다.
let letterA = "\u0041"; // 'A'
let smileyFace = "\u263A"; // ☺
4. 문자열 메서드
문자열을 조작하거나 변환하기 위한 메서드가제공합니다.
길이 확인
length 키워드를 사용하여 문자열의 길이를 반환합니다.
let str = "Hello";
console.log(str.length); // 5
대소문자 변환
toUpperCase()나 toLowerCase() 사용합니다.
let str = "hello";
console.log(str.toUpperCase()); // "HELLO"
let str = "HI";
console.log(str.toLowerCase()); // "hi"
부분 문자열 추출
substring(start, end): 지정한 인덱스 범위의 부분 문자열을 반환합니다.
let str = "Hello, World!";
console.log(str.substring(0, 5)); // "Hello"
slice(start, end): 똑같이 지정한 인덱스 문자열을 반환하며 다만 음수 인덱스를 사용할 수 있습니다.
let str = "Hello, World!"
console.log(str.slice(-6)); // "World!"
문자 찾기
indexOf(searchValue): 특정 문자열이 처음 나타나는 인덱스를 반환합니다. 없으면 -1을 반환 합니다.
let str = "Hello, World!";
console.log(str.indexOf("o")); // 4
lastIndexOf(searchValue): 특정 문자열이 마지막으로 나타나는 인덱스를 반환합니다.
let str = "Hello, World!";
console.log(str.lastIndexOf("o")); // 8
문자열 검색
includes(serchValue): 특정 문자열이 퐇함되어 있는지 여부를 반환합니다.
let str = "Hello, World!";
console.log(str.includes("World")); // true
startsWith(serchValue): 문자열이 특정 문자열로 시작하는지 여부를 반환합니다.
let str = "Hello World!";
console.log(str.startsWith("Hello")); // true
endWith(searchValue): 문자열이 특정 문자열로 끝나는지 여부를 반환합니다.
let str = "Hello, World!";
console.log(str.endsWith("!")); // true
문자열 결합 및 분리
concat(string, string, ...): 문자열을 결합합니다.
let str1 = "Hello";
let str2 = "World";
console.log(str1.concat(", ", str2)); // "Hello, World"
split(separator): 문자열을 주어진 구분자로 나누어 배열로 반환합니다.
let str = "apple,banana,cherry";
console.log(str.split(",")); // ["apple", "banana", "cherry"]
문자열 수정
replace(searchValue, newValue): 첫 번째 인자와 일치하는 첫 문자열을 새 문자열로 바꿉니다.
let str = "Hello, World!";
console.log(str.replace("World", "JavaScript")); // "Hello, JavaScript!"
repeat(count): 문자열을 지정한 횟수만큼 반복합니다.
console.log("Hi! ".repeat(3)); // "Hi! Hi! Hi! "
공백 제거
trim(): 문자열의 양쪽 끝에서 공백을 제거합니다.
let str = " Hello, World! ";
console.log(str.trim()); // "Hello, World!"
5. 템플릿 리터럴
백틱(`)을 사용하여 문자열을 정의하면 문자열 내 변수 삽입이 가능합니다. 변수 삽입은 ${변수명} 구문을 사용합니다.
let name = 'Alice';
let greeting = `Hello, ${name}!`;
console.log(greeting); // 'Hello, Alice!'
6. 문자열 불변성
자바스크립트의 문자열은 불변입니다. 문자열을 수정할 수 없고, 새로운 문자열을 생성해야 합니다.
let str = 'Hello';
str[0] = 'h'; // 변경되지 않음
console.log(str); // 'Hello'
https://idocleancode.tistory.com/424
참고자료
'Tutorials > JavaScript' 카테고리의 다른 글
[JavaScript] Boolean (0) | 2024.10.18 |
---|---|
[JavaScript] Number (0) | 2024.10.06 |
[JavaScript] 스코프 (1) | 2024.09.23 |
[JavaScript] 변수 네이밍 규칙 (1) | 2024.09.23 |
[JavaScript] 호이스팅 (2) | 2024.09.15 |