컴퓨터/웹 : JS

[JS] 자바스크립트 문자열/String 객체, 문자열 사용법

도도새 도 2023. 5. 9. 18:02

js String

 

 

js를 이용하면 각종 객체를 알게 모르게 접하게 된다. 그 중 하나가 바로 문자열을 다루는 String 객체이다. (사실 JS에서는 거의 모든 것이 객체이다!)

 

사실 const a = “스트링”; 식으로 생성하면, 이는 String 객체를 생성하는 것이 아닌 원시타입 String을 적용하는 것이다. 그러나 js는 원시 타입에 대해서 래퍼객체(wrapper object)라는 것을 생성하여 적용하게 된다.

 

이때 이 임시 객체는 String 객체의 메소드들을 상속받기에, 원시타입 string 문자열은 String 객체의 메소드들을 사용할 수 있게 된다. 이렇게 생성된 임시 래퍼 객체는 사용자가 요구한 조작을 마치면 소멸하게 된다.

 

즉 원시타입 값의 메소드, 속성 등에 접근하려고 하면 js엔진은 자동으로 래퍼객체를 생성하여 해당 값에 적용하게 된다. 따라서 사용자는 쉽게 값들을 다룰 수 있게 된다.(단 이 임시 객체에는 속성을 추가할 수 없다. 그러나 String()으로 생성한 객체의 경우 다른 객체처럼 새로운 속성을 추가할 수 있게 된다!)

 

String 객체의 각종 메서드

 

메서드 설명
length(속성) str.length // 문자열의 길이를 반환한다.
includes() 파라미터로 전달되는 문자열이 포함되어있으면 true 아니면 false 반환
replace() 파라미터로 전달되는 문자열과 일치하는 부분을 찾아 다른 데이터로 변경한 새로운 문자열을 반환
replaceAll() 파라미터로 전달되는 문자열과 일치하는 부분을 찾아 다른 데이터로 변경. 일치하는 모든 부분에 대하여 적용됨.
split() 파라미터로 전달되는 구분자(delim)을 이용해 문자열을 복수의 문자열로 분리. 반환값을 나누어진 문자열들을 담은 배열.
toUpperCase() 문자열을 대문자로 변경하여 반환.
trim() 문자열의 앞뒤 공백을 제거하여 반환
indexOf() 파라미터로 전달되는 문자열과 일치하는 첫 번째 문자의 인덱스를 반환.

 

 

자바스크립트 스트링 메서드 사용 예시

 

let str = " abc@abcd.com ";
str = str.trim() //'abc@abcd.com'
str = str.replace("abcd", "naver"); //'abc@naver.com'
const inx = str.indexOf('@');//3
const inx2 = str.indexOf('#');//-1 ...존재하지 않으면 -1
const strArr = str.split('@');//['abc', 'naver.com']
str = str.replace('a', '$');//'$bc@abcd.com'
str = str.replaceAll('b', 'pppp');//'$ppppc@appppcd.com'