String

ken6666·2024년 3월 20일
0

JS

목록 보기
24/39

String 생성자 함수

const strObj = new String();
console.log(strObj); // String {length: 0, [[PrimitiveValue]]: ""}
  • String 생성자 함수에 인수를 전달하지 않고 new 연산자와 함께 호출하면 래퍼 객체 생성
const strObj = new String('Lee');
console.log(strObj);
// String {0: "L", 1: "e", 2: "e", length: 3, [[PrimitiveValue]]: "Lee"}
  • 인수로 문자열을 전달하면 문자열을 할당한 string 레퍼 객체를 생성한다
  • 문자열은 원시 값이므로 변경 할 수 없다. 바꾸더라도 에러가 나지 않는다.

length 프로퍼티

'Hello'.length;    // -> 5
'안녕하세요!'.length; // -> 6

String 메서드

string.prototype.indexOf

const str = 'Hello World';

// 문자열 str에서 'l'을 검색하여 첫 번째 인덱스를 반환한다.
str.indexOf('l'); // -> 2


// 문자열 str에서 'or'을 검색하여 첫 번째 인덱스를 반환한다.
str.indexOf('or'); // -> 7

// 문자열 str에서 'x'를 검색하여 첫 번째 인덱스를 반환한다. 검색에 실패하면 -1을 반환한다.
str.indexOf('x'); // -> -1

// 문자열 str의 인덱스 3부터 'l'을 검색하여 첫 번째 인덱스를 반환한다.
str.indexOf('l', 3); // -> 3
  • 인수로 전달받은 문자열을 검색하여 첫 번째 인덱스를 반환한다. 실패하면 -1을 반환한다.
  • 2번째 인수로 검색을 시작할 인덱스를 전달 할 수 있다.

string.prototype.includes

const str = 'Hello world';

// 문자열 str이 'He'로 시작하는지 확인
str.startsWith('He'); // -> true
// 문자열 str이 'x'로 시작하는지 확인
str.startsWith('x'); // -> false
// 문자열 str의 인덱스 5부터 시작하는 문자열이 ' '로 시작하는지 확인
str.startsWith(' ', 5); // -> true
  • 인수로 전달받은 문자열로 시작하는지 확인하여 그 결과를 true false로 반환, 2번째 인수로 시작할 인덱스를 전달 할 수 있다.

string.prototype.substring

const str = 'Hello World';

// 인덱스 1부터 인덱스 4 이전까지의 부분 문자열을 반환한다.
str.substring(1, 4); // -> ell
  • 첫 번째 인수로 전달받은 인덱스에 위치하는 문자부터 두 번째 인수로 전달받은 인덱스에 위치하는 문자의 바로 이전 문자까지의 문자열을 반환한다

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'
  • substing 메서드와 동일하게 동작하지만 음수인 인수를 전달 할 수 있다는 차이점이 있다.

string.prototype.trim

const str = '   foo  ';

str.trim(); // -> 'foo'
  • 대상 문자열 앞뒤에 공백 문자가 있을 경우 이를 제거한 문자열을 반환한다.

string.prototype.replace

const str = 'Hello world';

// str에서 첫 번째 인수 'world'를 검색하여 두 번째 인수 'Lee'로 치환한다.
str.replace('world', 'Lee'); // -> 'Hello Lee'
  • 대상 문자열에서 첫 번째 인수로 전달받은 문자열을 검색하여 두 번째 인수로 전달한 문자열로 치환한다.

0개의 댓글