자바스크립트의 String 객체는 문자열을 다루기 위한 다양한 헬퍼 메서드를 제공합니다. String 객체는 자바스크립트의 원시(primitive) 문자열 타입을 감싸는 역할을 하며, 자바스크립트는 원시 문자열과 String 객체 간의 변환을 자동으로 처리하기 때문에 원시 문자열에서도 String 객체의 모든 메서드를 바로 호출할 수 있습니다.
자주 사용되는 문자열 메서드
다음은 자바스크립트에서 문자열에 사용할 수 있는 대표적인 메서드들입니다.
- concat() — 두 문자열을 하나로 합쳐 새로운 문자열을 반환합니다.
- indexOf() — 지정한 값이 처음으로 나타나는 인덱스를 반환하며, 찾지 못하면 -1을 반환합니다.
- lastIndexOf() — 지정한 값이 마지막으로 나타나는 인덱스를 반환하며, 찾지 못하면 -1을 반환합니다.
- match() — 문자열과 정규 표현식을 비교하여 일치하는 결과를 반환합니다.
- replace() — 정규 표현식 또는 문자열과 일치하는 부분을 찾아 새로운 문자열로 교체합니다.
- search() — 정규 표현식과 일치하는 부분을 검색하고, 해당 인덱스를 반환합니다.
- slice() — 문자열의 일부분을 추출하여 새로운 문자열로 반환합니다.
- split() — 문자열을 지정한 구분자를 기준으로 나누어 배열로 반환합니다.
- substr() — 지정한 위치부터 지정한 길이만큼의 문자들을 반환합니다.
- substring() — 두 인덱스 사이에 있는 문자들을 반환합니다.
- toLowerCase() — 문자열을 모두 소문자로 변환하여 반환합니다.
- toUpperCase() — 문자열을 모두 대문자로 변환하여 반환합니다.
- valueOf() — 지정된 객체의 원시 값을 반환합니다.
메서드 사용 예제
실제 코드에서 이 메서드들이 어떻게 동작하는지 확인해 보겠습니다.
let a = "Hello World!";
console.log(a.concat(" test"))
console.log(a.indexOf("l"))
console.log(a.lastIndexOf("l"))
console.log(a.replace("Hello", "Hi"))
console.log(a.substr(3, 7))
console.log(a.toUpperCase())실행 결과
Hello World! test 2 9 Hi World! lo Worl HELLO WORLD!
위 예제에서 indexOf("l")은 문자 'l'이 처음 등장하는 위치인 2를, lastIndexOf("l")은 마지막으로 등장하는 위치인 9를 반환합니다. 또한 replace()는 원본 문자열을 변경하지 않고 새로운 문자열을 생성한다는 점도 기억해 두면 좋습니다.