문자열이란?
간단한 텍스트를 처리하기 위한 유형입니다.
에크마스크립트2015부터 문자열과 관련된 다양한 함수가 생겼습니다.
원시 유형과 객체
단순히 값만 가지고 있을 경우 '원시 유형'이고, 프로퍼티와 메서드를 가지고 있을 경우 '객체'입니다.
자바스크립트에서는 원시 유형이여도 프로퍼티와 메서드를 사용할 수 있습니다.
let str = "hello"
str.length //5
위와 같이 변수에 문자열을 할당한 후 length라는 프로퍼티를 사용하면 str 변수에 length라는 프로퍼티를 정의하지 않았는데도 length 프로퍼티를 사용할 수 있습니다.
문자열의 길이 length 프로퍼티
문자열의 길이를 찾을 때는 배열에서처럼 length 프로퍼티를 사용합니다.
//기본형
문자열.length
문자열에서 문자의 위치 활용
문자열은 여러 개의 문자가 나열되어 있으므로 배열처럼 각 문자의 위치를 가리키는 인덱스가 있다고 가정해서 사용합니다.
위치와 관련된 주요 메서드는 charAt( ), indexOf( )가 있습니다.
charAt( )
특정 위치의 문자를 가져올 때 사용하는 함수입니다.
에크마스크립트2015부터는 별도의 메서드 없이 배열처럼 대괄호를 사용할 수 있습니다.
위치는 인덱스부터 표시되고, 인덱스는 0부터 시작합니다.
//기본형
문자열.charAt(위치)
indexOf( )
2개 이상의 단어로 구성된 문자열에는 공백으로 구분되는 여러 개의 부분 문자열이 있을 수 있으므로 부분 문자열이 어디에 있는지 검색할때 사용하기 좋습니다.
괄호 안에 문자열이 나타난 위치를 알려주고 '위치'값을 생략할 경우에는 문자열이 나타난 첫번째 위치를 알려줍니다.
//기본형
indexOf(문자열)
indexOf(문자열, 위치)
어떤 문자가 있는지 확인
에크마스크립트 2015 이전에는 indexOf()메서드를 통해 문자열의 시작과 끝에 특정 문자열이 있는지 확인했습니다.
에크마스크립트 2015부터 용도에 맞는 메서드들이 추가되었습니다.
starsWith( )
특정 문자나 문자열로 시작하는지 확인할 때 사용할 수 있습니다.
영문자의 대소문자를 구별하므로 주의해야합니다.
위치를 함께 지정하면 특정 문자나 문자열이 해당 위치부터 시작하는지 알 수 있습니다.
결과값은 true 혹은 false입니다.
//기본형
문자열.starsWith(문자 또는 문자열)
문자열.starsWith(문자 또는 문자열, 위치) //위치확인
endsWith( )
문자열이 특정 문자나 문자열로 끝나는지 확인할 수 있습니다.
영문자의 대소문자를 구별합니다.
결과값은 true 혹은 false입니다.
문자열과 길이를 함께 지정할 수 있습니다.
//기본형
문자열.endsWith(문자나 문자열)
문자열.endsWith(문자열, 길이)
inclueds( )
문자열에 특정 문자나 문자열이 포함되었는지 확인할 떄 사용할 수 있습니다.
결과값은 true 혹은 false입니다.
영문자의 대소문자를 구별합니다.
//기본형
문자열.includes(문자열)
문자열 메서드 활용
" " 나 ' '로 묶기만 하면 모두 문자열이 될 수 있어 문자열 안에 있는 불필요한 공백을 제거하거나, 영문자의 대소문자를 특정한 형태로 바꿔서 표시해야 할 경우도 있습니다.
문자열에서 공백제거
trim( ), trimStart( ), trimEnd( )
문자열에는 공백을 넣을 수 도, 원래 공백 그대로를 표시할 수도 있지만 연산에 사용하기 위해서 공백을 제거 할 경우 String객체에 있는 메서드를 사용해 간단히 제거 할 수 있습니다.
세가지 중 골라서 사용하면 됩니다.
//기본형
문자열.trim() //문자열의 앞뒤 공백을 제거합니다.
문자열.trimStart() //문자열의 앞쪽 공백을 제거합니다.
문자열.trimEnd() //문자열의 뒤쪽 공백을 제거합니다.
문자열 대소문자 변환
toUpperCase( ), toLowerCase( )
영문자 문자열의 경우 모두 대문자, 또는 소문자로 변환이 가능합니다.
//기본형
문자열.toUpperCase() //문자열을 모두 대문자로 변환
문자열.toLowerCase() //문자열을 모두 소문자로 변환
문자열 추출
특정부분만 추출할 때 사용하는 메서드들 입니다.
substring( )
시작 위치부터 끝 위치의 직전까지 추출해서 반환합니다.
끝 위치는 포함하지 않습니다.
끝 위치를 지정하지 않으면 시작 위치부터 문자열의 끝까지 추출해서 반환합니다.
//기본형
문자열.substring(시작 위치)
문자열.substring(시작 위치, 끝 위치)
slice( )
시작 위치만 지정하면 해당 위치부터 끝까지, 시작 위치와 끝 위치를 지정하면 시작 위치부터 끝 위치 직전까지 추출합니다.
//기본형
문자열.slice(시작 위치)
문자열.slice(시작 위치, 끝 위치)
문자 쪼개기
split( )
구분자를 기준으로 문자열을 쪼갭니다.
공백을 구분자로 사용할 때는 큰따옴표 사이에 빈 칸을 한 칸 넣어줍니다.
만약 문자열을 각각의 글자로 나누어서 문자 배열로 변환하려면 구분자를 " "로 지정해야합니다.
글자별로 구분할 때는 큰 따옴표와 큰 따옴표 사이에 공백이 없어야 합니다.
//문자열
문자열.split(구분자)