문자열은 수정할 수 없다. 중간에 글자를 하나 바꾸려고 하면 에러가 발생함
문자열 str의 0번째 인덱스를 'h'로 바꾸고 출력해봤더니, 에러가 났음.
이런 문제를 피하려면 완전히 새로운 문자열을 하나 만든 다음, 이 문자열을 str에 할당하면됨.
'Hi'
를 'hi'
로 만들고 싶다면, 위의 코드처럼 'h'를 앞에 놓고
그 다음 문자를 더해주면 'hi'
라는 결과가 나옴
indexOf(substr)
인자에 하나만 넣으면, 0번째 인덱스부터 substr가
몇번째 인덱스에 있는지 찾는다.
indexOf(substr , pos)
인자를 두개 넣으면 pos번째 부터 substr가 몇번째 인덱스에 있는지 찾는다.
반복문과 indexOf를 활용하여, 문자열 전체에 해당 문자가 몇번째 인덱스에 있는지 반복적으로 찾아보기
target as
가 몇번째 인덱스에 있는지 찾아내는 foundPos라는 변수를 만들어주고
indexOf
특성상 해당 문자열을 찾지 못하면 -1을 내뱉기 때문에 -1이면
반복을 멈춘다.
몇번째 인덱스인지 찾았다면, alert로 위치가 뜨고,
만약 찾았다면 pos
를 찾은 문자열의 index+1 해줘야
다음 문자부터 반복적으로 찾기 때문에 pos = foundPos+1
해줬다.
이렇게 하면 'as'
가 몇번째 인덱스에 있는지 다 나온다.
if문에서 indexOf를 쓸때 주의할 점
str에서 'Widget'은 0번째 인덱스에 존재하는데, if문에서 0은 false로 간주하기 때문에
원하는 결과가 나오지 않는다.
따라서 문자열 여부를 검사하려면 -1과 비교를 해야한다.
includes
는 substr이 있는지 없는지 검사하는 메서드이다.
indexOf
와 똑같이 includes
도 두번째 인자에 pos를 넣어주면
pos번째 인덱스부터 substr을 찾음.
startsWith , endsWith
시작과 끝이 맞는지 확인해주는 메서드