티스토리 뷰
숫자 값을 객체처럼 다룰 수 있듯이 JavaScript에서는 문자열도 객체처럼 다룰 수가 있습니다.
문자열은 배열과 비슷한 부분이 많습니다.
// String
let myString = 'Hi Codeit';
// 부분 문자열 접근 slice(start, end)
console.log(myString.slice(0,2));
console.log(myString.slice(3));
console.log(myString.slice());
// 양 쪽 공백 제거
console.log(myString.trim()); // trim 메소드
// 대소문자 변환
console.log(myString.toUpperCase()); // 대문자 // HI CODEIT
console.log(myString.toLowerCase()); // 소문자 // hi codeit
// 요소 탐색
console.log(myString.indexOf('i')); // 앞 부터 // 1
console.log(myString.lastIndexOf('i')); // 뒤 부터 // 7
// 요소 접근
console.log(myString[3]); // 대괄호 표기법 // C
console.log(myString.charAt(3)); // charAt 메소드 // C
// 문자열 길이
console.log(myString.length); // length 프로퍼티 // 9
먼저 length 프로퍼티입니다. 배열에서도 봤듯이 length 프로퍼티는 이 문자열의 길이를 알려주는 역할을 합니다.
저장하고 실행해보면 공백을 포함해서 'Hi Codeit'이라는 글자 수에 맞게 9라는 값이 출력됩니다.
그리고 문자열도 글자 하나하나에 접근을 할 수가 있습니다.
배열에서 사용하는 대괄호 표기법과 인덱스를 통해서 접근할 수도 있고 문자열은 특별히 charAt이라는 메소드를 활용해서 접근할 수도 있습니다. 저장하고 실행해보면 3번 인덱스에 있는 대문자 C를 가져오는 것을 확인할 수 있습니다.
또 배열에서 활용할 수 있는 indexOf와 lastIndexOf를 활용해서 요소를 찾을 수도 있습니다. 저장하고 실행해보면 i가 앞에서부터 찾을 때는 1번 인덱스에, 뒤에서부터 찾을 때는 7번 인덱스에 있죠. 그래서 결과값이 1과 7이 나오는 걸 확인할 수 있습니다. 만약에 알파벳 a처럼 문자열에 없는 문자열을 찾으려고 하면 -1이 출력됩니다.
그다음은 대문자 소문자 변환 메소드입니다. toUpperCase와 toLowerCase입니다.
저장하고 실행해보면 대소문자가 섞여있는 문자열을 모두 대문자로 혹은 소문자로 바꿔주는 모습을 확인할 수 있습니다.
그리고 또 독특하게 문자열에는 양 끝에 공백을 제거해 주는 trim이라는 메소드가 있습니다.
양쪽 끝에 공백을 넣어 준 다음 실행을 시켜보면 다른 메소드들은 양쪽 공백을 모두 포함한 상태로 메소드가 실행이 되는데 trim의 경우에는 양쪽 공백을 제거한 문자열을 이렇게 리턴해줍니다.
마지막으로 살펴볼 메소드는 slice라는 메소드인데요.
앞에서 이 요소를 접근하는 문자열 하나만 가져오는 방법을 배웠었다면 slice는 부분 문자열을 가지고 오는 메소드입니다.
slice는 두 개의 파라미터를 가지고 있는데, 시작과 끝 인덱스입니다.
한 가지 주의해야 될 부분은 끝 인덱스 바로 직전까지의 범위를 가져온다는 것입니다.
파라미터 두 개(0,2)를 전달하면 0번 인덱스부터 2번 인덱스 직전까지 즉, 0번부터 1번 인덱스까지 문자열을 리턴해줍니다.
그리고 배열에서 배웠던 splice와 마찬가지로 두 번째 파라미터를 생략하게 되면 시작 지점부터 끝까지 문자열을 리턴하고 모두 다 생략했을 경우에는 그냥 문자열 전체를 가지고 옵니다.
'프론트엔드 > JavaScript' 카테고리의 다른 글
[자료형 심화] 10. 기본형과 참조형 (0) | 2022.10.25 |
---|---|
[자료형 심화] 08. 문자열과 배열 사이 (0) | 2022.10.24 |
[자료형 심화] 05. 바보 자바스크립트? (0) | 2022.10.24 |
[자료형 심화] 04. Math객체 (0) | 2022.10.24 |
[자료형 심화] 02. 숫자형 메소드 (0) | 2022.10.24 |
- Total
- Today
- Yesterday
- redux-middleware
- undefined
- findindex
- null
- 불변 객체
- 동적(dynamic) 언어
- 비교 연산자
- redux middleware
- filter
- foreach
- redux thunk
- 참조형 데이터
- find
- redux
- EVERY
- 기본형 데이터
- some
- 얕은복사
- redux-thunk
- 타입변환
- 느슨한 타입(loosely typed)
- map
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |