String 객체는 원시 타입인 문자열을 다룰 때 유용한 속성과 메소드를 제공하는 레퍼(wrapper) 객체입니다. 변수 또는 객체 속성이 문자열을 값으로 가지고 있다면 String 객체의 별도 생성없이 String 객체의 속성과 메소드를 사용할 수 있습니다.
목차
문자열 생성
new 키워드 이용
var strObj = new String("hello");
리터럴 이용
var str = "hello";
var strObj = new String("hello"); //String 객체
var str = "hello"; ////string 타입
console.log(strObj); //String {'hello'}
console.log(strObj.toString()); //hello
console.log(str); //hello
console.log(strObj == str); //true 내용비교
console.log(strObj === str); //false 타입까지 비교
문자열 속성
length
문자열의 길이를 반환합니다. String 객체는 length 속성을 가지므로 유사 배열 객체입니다.
console.log(str.length); //5
문자열 순회
String 객체는 유사 배열 객체이므로 배열과 유사하게 문자열을 순회할 수 있습니다.
var str = "hello";
for (let i = 0; i < str.length; i++) {
console.log(str.charAt(i));
}
for (let i = 0; i < str.length; i++) {
console.log(str[i]);
}
문자열 메소드
메소드 | 설명 |
charAt(index) | 지정한 인덱스에 해당하는 문자를 리턴 |
concat(s, s2, s3, ...) | 지정한 문자열들을 연결하여 리턴 |
indexOf(str [, fromIndex]) | 지정한 str에 해당하는 값의 인덱스를 리턴 일치하는 str이 없으면 -1 리턴 |
includes(str [, fromIndex]) | 지정한 문자열이 포함되어 있는지 검사한 결과를 boolean 값으로 리턴 |
split(separator [, 개수]) | 특정 구분자를 기준으로 문자열을 분리하여 배열을 리턴 |
toLowerCase() | 문자열을 모두 소문자로 변경하여 리턴 |
toUpperCase() | 문자열을 모두 대문자로 변경하여 리턴 |
substring(start, end) | 문자열의 start idx 부터 end -1 idx 까지 부분열을 리턴 |
substr(start, length) | 문자열의 start idx 부터 length 개수만큼 리턴 |
replace(searchValue, replacer) | 문자열에서 일치하는 패턴에 해당하는 값을 변경값으로 대체하여 리턴 |
trim() | 양쪽 끝에 있는 공백 문자를 제거한 문자열을 리턴 |
charAt(index)
지정한 인덱스에 해당하는 문자를 반환합니다. 인덱스는 0부터 시작하며, 지정한 인덱스가 문자열의 범위를 벗어난 경우 빈문자열을 반환합니다.
var s = "Hello";
console.log(s.charAt(0)); //H
concat(s, s2, s3, ...)
지정한 문자열들을 연결하여 새로운 문자열을 반환합니다.
var s = "Hello";
var s2 = s.concat(" World");
console.log(s2); //Hello World
indexOf(str [, fromIndex])
지정한 문자열을 대상 문자열에서 검색하여 처음 발견된 곳의 인덱스를 반환합니다. 일치하는 문자열이 없으면 -1을 반환합니다. 검색을 시작할 인덱스 번호를 지정할 수도 있습니다.
var s = "Hello";
console.log(s.indexOf('lo')); //3
console.log(s.indexOf('x')); //-1
console.log(s.indexOf('l', 3)); //3
includes(str [, fromIndex])
지정한 문자열이 포함되어 있는지 검사한 결과를 boolean 값으로 반환합니다. 검색을 시작할 인덱스 번호를 지정할 수도 있습니다.
var s = "Hello World";
console.log(s.includes("Hello")); //true
console.log(s.includes("lo", 4)); //false
split(separator [, 개수])
특정 구분자(separator)를 기준으로 문자열을 분리하여 각 문자열로 이루어진 배열을 반환합니다. 원본 문자열은 변경되지 않습니다. 구분자를 지정하지 않으면 대상 문자열 전체를 단일 요소로 하는 배열을 반환합니다. 반환받을 배열 요소의 개수를 지정할 수 있습니다.
var s = "aa bb cc dd ee ff";
var arr = s.split(' ');
console.log(arr); //(6) ['aa', 'bb', 'cc', 'dd', 'ee', 'ff']
var arr2 = s.split(' ', 3);
console.log(arr2); //(3) ['aa', 'bb', 'cc']
toLowerCase(), toUpperCase()
문자열을 모두 소문자/대문자로 변경하여 반환합니다.
var s = "HeLlo";
console.log(s.toLowerCase()); //hello
console.log(s.toUpperCase()); //HELLO
substring(start, end)
문자열의 start idx 부터 end -1 idx 까지 부분열을 반환합니다. end idx를 지정하지 않으면 문자열의 끝까지 반환합니다.
var s = "Hello World";
console.log(s.substring(1,4)); //ell
console.log(s.substring(6)); //World
substr(start, length)
문자열의 start idx 부터 length 개수만큼 반환합니다. length를 지정하지 않으면 문자열의 끝까지 반환합니다.
var s = "Hello World";
console.log(s.substr(1,4)); //ello
console.log(s.substr(6,1)); //W
console.log(s.substr(6)); //World
replace(searchValue, replacer)
문자열에서 일치하는 패턴에 해당하는 값을 변경값으로 대체하여 반환합니다. 기본적으로 첫번째로 검색된 문자열만 대체합니다.
var s = "Hello World";
console.log(s.replace("o", "U")); //HellU World
trim()
양쪽 끝에 있는 공백 문자를 제거한 문자열을 반환합니다.
var s = " hello ";
console.log(s.length, s.trim().length); //11 5
참고
https://poiemaweb.com/js-string
'WEB > JavaScript' 카테고리의 다른 글
[JavaScript] BOM (브라우저 객체 모델) (0) | 2022.06.28 |
---|---|
[JavaScript] 윈도우 (Window) 객체 (0) | 2022.06.28 |
[JavaScript] 배열 (Array) 객체 (0) | 2022.06.27 |
[JavaScript] 자바스크립트 기초 문법 - 함수 (0) | 2022.06.27 |
[JavaScript] 자바스크립트 기초 문법 - 제어문 (0) | 2022.06.26 |
댓글