on your mark

[JAVASCRIPT.INFO] 5.3 문자열 본문

WEB/Javascript

[JAVASCRIPT.INFO] 5.3 문자열

dev-olive 2023. 1. 4. 21:51

5.3 문자열

문자열의 불변성

문자열은 수정할 수 없음 문자열의 중간 글자 하나를 바꾸려고 하면 에러가 발생한다.

let str = 'Hi';
str[0] = 'h';        // Error: Cannot assign to read only property '0' of string 'Hi'

부분 문자열 추출하기

str.slice(start [,end])

문자열의 start부터 end까지(end는 미포함)를 반환

let str = "stringify";
alert(str.slice(0,5));        // 'strin', 0번째부터 5번째 위치까지(5번째 위치의 글자는 포함하지 않음)

두 번째 인수가 생략된 경우엔, 명시한 위치부터 문자열 끝까지를 반환

let str = "stringify";
alert( str.slice(2) );    // ringify, 2번째부터 끝까지

startend는 음수가 될 수 있음 음수를 넘기면 문자열 끝에서부터 카운팅

let str = "stringify";
alert( str.slice(-4, -1) ); // gif

str.substring(start [, end])

startend 사이에 있는 문자열을 반환함

substringslice와 유사하지만 startend보다 커도 괜찮다는 데 차이가 있음

let str = "stringify";
// 동일한 결과
alert( str.substring(2,6) );        // "ring"
alert( str.substring(6,2) );        // "ring"

alert( str.slice(2,6) );        // "ring"
alert( str.slice(6,2) );        // ""

substring은 음수 인수를 허용하지 않고 음수는 0으로 처리됨

str.substr(start [, length])

start에서부터 시작해 length개의 글자를 반환

substr은 끝 위치 대신에 길이를 기준으로 문자열을 추출함

let str = "stringify";
alert( str.substr(2, 4) );        // ring, 두 번째부터 글자 네 개

// 첫 번째 인수가 음수면 뒤에서부터 개수를 셈
alert (str.substr(-4, 2) );        // gi, 끝에서 네번째 위치부터 글자 두 개