[객체] 1. 코어 객체 - 3) String
2021. 1. 18. 13:04ㆍFront-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
반응형
'Front-end > Javascript' 카테고리의 다른 글
[객체]사용자 객체 만들기 (0) | 2021.01.18 |
---|---|
[객체] 1. 코어 객체 - 4) Math (0) | 2021.01.18 |
[객체] 1. 코어 객체 - 2) Date (0) | 2021.01.18 |
[객체] 1. 코어 객체 - 1) 배열 (0) | 2021.01.18 |
[객체] 객체의 개념과 유형 (0) | 2021.01.18 |