유명한 담벼락

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

블로그의 정보

유명한 담벼락

담담이담

활동하기