[객체] 1. 코어 객체 - 3) String

2021. 1. 18. 13:04Front-end/Javascript

728x90
반응형
  • String : 문자열을 객체로 만들어 문자열을 다루기 쉽도록 해주며 많은 메소드를 제공한다.
  • String 객체
    • String 객체는 new String()을 이용하여 생성하기도 하지만 문자열 리터럴은 자동으로 String 객체가 된다.
var hello = new String("Hello");
var hello2 = "Hello";

// 두 가지 모두 String 객체 생성하는 방법이다.

 

  • String 객체는 수정 불가
    • String 객체는 일단 생성되면 내부의 문자열 수정이 불가능하다. 다음 코드는 hello.concat()이 실행되어도 원본 hello 객체의 문자열은 변하지 않음을 보여준다.
var hello = new String("hello");
var res = hello.concat("JavaScript");
//concat() 후 hello의 문자열 변화 없음
// hello는 "hello" , res는 "helloJavaScript"

 

  • 문자열 길이를 알려주는 프로퍼티 length : 역시 읽기 전용임 (배열에서도 쓰였음)
var hello = new String("Hello");
var every = "Boy and Girl";
var m = hello.length; //m은 5
var n = every.length; //n은 12

 

  • []로 문자 접근 : 문자열은 배열처럼 [] 연산자를 사용하여 각 문자를 접근할 수 있음
var hello = "Hello";
var c = hello[0]; // c는 문자열 "H" , 자바스크립트는 문자 타입 없다.

 

  • String 메소드
메소드 설명
charAt(index) 인덱스 idx에 있는 문자를 문자열로 만들어 리턴
concat(s1,s2,...,sN) 현재 문자열 뒤에 문자열 s1,s2,...,sN을 순서대로 연결한 새로운 문자열 리턴
indexOf(s[,idx]) 인덱스 idx 위치부터 문자열 s가 처음으로 나타나는 인덱스 리턴
idx가 생략되면 처음부터 검색
발견할 수 없으면 -1 리턴
replace(strA,strB) 문자열 strA를 찾아 strB로 수정한 새로운 문자열 리턴
slice(idxA[,idxB]) 인덱스 idxA에서 idxB 앞까지 문자열을 복사하여 리턴
idxB가 생략되면 idxA에서 끝까지 리턴
split([separator[,limit]]) separator 문자열을 구분자로 하여 문자열을 분리하여 문자열 배열을 만들어 리턴
limit는 리턴하는 배열의 크기를 제한하는 정수
substr(idxA[,len]) 인덱스 idxA에서부터 len 문자 개수만큼 새로운 문자열 리턴
len이 생략되면 문자열 끝까지 리턴
substring(idxA,idxB) idxA에서 idxB 앞까지 두 인덱스 사이의 문자열 리턴
trim() 문자열의 앞뒤 공백문자를 제거한 새로운 문자열 리턴
toLowerCase() / toUpperCase() 소문자로 변환/대문자로 변환된 새로운 문자열 리턴

 

  • String 활용
  • 1) 문자열 비교 : 두 문자열이 같은 지 비교할 때는 간단히 == 연산자 이용
  • 2) >,<,>=,<= 와 같은 비교 연산자는 사전에 나오는 순서를 비교
"hello" < "yes" // "hello"가 "yes"보다 사전에 먼저 나오기 때문에 결과는 true
  • 3) 문자열 연결 : '+' 연산자나 concat() 메소드 사용
  • 4) 문자열 앞뒤의 공백 제거 : trim()은 사용자가 부주의하게 이름 앞뒤에 빈칸을 입력하는 경우가 종종 발생하는데 이 때 사용자가 입력한 그대로 사용하여 웹 서버의 데이터베이스를 검색하면 검색이 정확히 이루어지지 않게 되므로 앞뒤의 공백을 제거해주어야 한다.
  • 5) 서브 스트링 찾기 : indexOf()
  • 6) 서브 스트링 리턴 : slice(), substr(), substring()
    • slice(start,end) : 문자열의 일부를 추출하여 반환, end 의 인덱스 직전까지 반환함, 음수 가능
    • substring(start,end) : slice()와 같지만 매개변수가 음수일 수 없다
    • substr(start,length) : 매개변수가 음수일 수 없다
    • 더 자세한 사항은 필요할 때 참고
  • 7) 문자열 변경 : replace()
  • 8) 대소문자 변경 : toUpperCase(),toLowerCase()
  • 9) 문자열 분할 : split()
728x90
반응형