이번에는 JS의 문자열에 대해 알아보자.
JS는 문자열을 다룰 수 있는 여러가지 기본적인 메소드를 지원한다.
str[index]
str[index]는 str이라는 문자열에서 index위치에 있는 문자열을 뽑을 때 사용한다.
ex)
var str = 'abcde';
console.log(str[0]); --> a
console.log(str[1]); --> b
console.log(str[2]); --> c
console.log(str[3]); --> d
* read-only이기 때문에 값을 새로 할당하지 않는이상 변경 불가!
.indexOf()
찾고자하는 문자열의 위치를 알고자 할 때 쓴다.
ex)
'Sean Kim'.indexOf('Kim');
*찾고자 하는 문자열이 없으면 -1 반환
.lastIndexOf()
찾고자 하는 문자열의 위치를 뒤에서부터 찾아 인덱스를 반환한다.
.includes()
Argument가 문자열에 있다면 True,
Argument가 문자열에 없다면 False 값 반환
.split()
Argument안의 기호마다 문자열을 쪼개, 리스트로 나열한다.
따라서 반환값이 배열인것이 특징!
ex)
var str = 'hello world!';
let a = str.split(' ');
a의 값: ['hello', 'world!']
.substring(index1, index2)
index1과 index2이전 사이의 문자열을 반환한다.
index2이전 임에 유의!
.toLowerCase() / .toUpperCase()
문자열의 대소문자를 변경한다.
문자열 합치기
문자열을 합칠 때는 두 가지 방법을 생각해 볼 수 있다.
1. +연산자
2. .concat(str1, str2,...)
우선 + 연산자를 이용한 방법인데, 가장 간편한 방법이다. 사용방법은 아래와 같다.
console.log('하나로'+'마트');
.concat()메소드도 문자열을 합칠 수 있는데, 초급자는 일단 +연산자에 의존하자.
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);
Immutable 과 mutable?
프로그래밍할 때 종종 나오는 에러중에 immuytable과 mutable이 있다. 과연 요것들은 무엇일까?
사전적의미는 다음과 같다.
Mutable : 변할수 있는
프로그래밍에서도 비슷한 의미로 사용된다.
Immutable은 원본이 변하지 않는다는 것을 뜻하며 mutable은 원본이 변한다는 의미를 가지게 되는데, 말만들어서는
이해하기가 다소 난해하다.
위의 split()메소드를 예로 들면 str의 값은 실행이 끝난 뒤에도 여전히 'helllo world!'이다. 왜냐하면 .split()메소드는 변수 str값을 변경시키지 않기 때문. 따라서 이 경우 split()메소드는 Immutable이다.