32장 : String - 작성 중
by 담담이담3) String 메서드
8. String.prototype.slice
const str = 'hello world';
// substring과 slice 메서드는 동일하게 동작한다.
// 0번째부터 5번째 이전 문자까지 잘라내어 반환
str.substring(0, 5); // -> 'hello'
str.slice(0, 5); // -> 'hello'
// 인덱스가 2인 문자부터 마지막 문자까지 잘라내어 반환
str.substring(2); // -> 'llo world'
str.slice(2); // -> 'llo world'
// 인수 < 0 또는 NaN인 경우 0으로 취급된다.
str.substring(-5); // -> 'hello world'
// slice 메서드는 음수인 인수를 전달할 수 있다. 뒤에서 5자리를 잘라내어 반환한다.
str.slice(-5); // ⟶ 'world'
slice 메서드는 substring 메서드와 동일하게 동작한다.
단, slice 메서드에서는 음수인 인수를 전달할 수 있다.
음수인 인수를 전달하면, 대상 문자열의 가장 뒤에서부터 시작해서
문자열을 잘라내어 반환한다.
14. String.prototype.split
const str = 'How are you doing?';
// 공백으로 구분(단어로 구분)하여 배열로 반환한다.
str.split(' '); // -> ["How", "are", "you", "doing?"]
// \s는 여러 가지 공백 문자(스페이스, 탭 등)를 의미한다. 즉, [\t\r\n\v\f]와 같은 의미다.
str.split(/\s/); // -> ["How", "are", "you", "doing?"]
// 인수로 빈 문자열을 전달하면 각 문자를 모두 분리한다.
str.split(''); // -> ["H", "o", "w", " ", "a", "r", "e", " ", "y", "o", "u", " ", "d", "o", "i", "n", "g", "?"]
// 인수를 생략하면 대상 문자열 전체를 단일 요소로 하는 배열을 반환한다.
str.split(); // -> ["How are you doing?"]
split 메서드는
split 메서드의 첫 인수를 기준으로 대상이 되는 문자열을 구분 한 후
분리된 각 문자열로 이뤄진 "배열"을 반환한다.
참고로 split의 인수로 빈 문자열을 넣으면,
배열의 spread 문법과 같은 역할을 할 수 있다.
(String 타입도 spread 문법이 사용 가능하다.)
// 공백으로 구분하여 배열로 반환한다. 단, 배열의 길이는 3이다
str.split(' ', 3); // -> ["How", "are", "you"]
두 번째 인수로 배열의 길이를 정할 수 있다.
// 인수로 전달받은 문자열을 역순으로 뒤집는다.
function reverseString(str) {
return str.split('').reverse().join('');
}
reverseString('Hello world!'); // -> '!dlrow olleH'
split 메서드는 배열을 반환하기에,
Array.prototype.reverse
Array.prototype.join 메서드를 함께 사용하면
문자열을 역순으로 뒤집을 수 있다.
'모던 자바스크립트 딥다이브' 카테고리의 다른 글
9장 : 타입 변환과 단축 평가 (1) | 2023.10.26 |
---|---|
27장 : 배열 - 8) 배열 메서드 (0) | 2023.10.25 |
12장 : 함수 (0) | 2023.10.23 |
27장 : 배열 - 9) 배열 고차함수 (1) | 2023.10.23 |
5장 : 표현식과 문 (1) | 2023.10.23 |
블로그의 정보
유명한 담벼락
담담이담