문자열의 불변성

문자열은 수정할 수 없다. 중간에 글자를 하나 바꾸려고 하면 에러가 발생함

문자열 str의 0번째 인덱스를 'h'로 바꾸고 출력해봤더니, 에러가 났음.

이런 문제를 피하려면 완전히 새로운 문자열을 하나 만든 다음, 이 문자열을 str에 할당하면됨.

'Hi''hi' 로 만들고 싶다면, 위의 코드처럼 'h'를 앞에 놓고
그 다음 문자를 더해주면 'hi'라는 결과가 나옴


indexOf

  • 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 , pos)

includes는 substr이 있는지 없는지 검사하는 메서드이다.

indexOf와 똑같이 includes도 두번째 인자에 pos를 넣어주면
pos번째 인덱스부터 substr을 찾음.

  • startsWith , endsWith

시작과 끝이 맞는지 확인해주는 메서드

profile
Hello~~👋

0개의 댓글