JS 기초(5) 문자열

Siwoo Pak·2021년 5월 12일
0

Javascript

목록 보기
7/34

자바스크립트에서 문자열이나 문자형 타입은 '',""로 감싸서 표현한다.

문자열은 string으로 하나의 문자는 char 라고 부른다.
인덱스로 접근 가능하나 인덱스접근은 읽기 전용이라 읽기만 가능하며
수정은 불가능한다. 배열의 경우 다름.

문자열의 속성과 메소드

()붙어 있으면 메소드, 없으면 속성

문자열의 길이를 나타내는 속성, length

  • 읽기만 하는 속성.. String.length 형식으로 쓰임.
  • 문자열의 길이를 Number 타입으로 반환.

객체의 원시값을 문자열 타입으로 반환하는 함수, valueOf()

  • let strObj = new String('brrr');
    console.log(strObj);
    => String {'brrr'};
    로 출력됨.. 그런데 valueOF(strObj)로 할 경우
    'brrr'값만 얻을 수 있다.

문자열에서 문자로 접근하는 메서드, charAt(Number)

  • str.charAt(1)를 치면 'cat'의 2번째 글자인
    'a'를 리턴해 줌.
  • 자바스크립트의 index는 0부터 시작한다.
  • charAt을 안 쓰고 직접 String[]를 붙여서 사용해도 무관.

문자열 추출하는 메서드(1)
slice(시작번호[,끝번호])

  • 문자열을 인덱스 시작번호부터 끝번호까지 잘라서 새로운 문자열로 반환.(시작번호<=인덱스<끝번호)
  • 시작번호가 1번이고 끝번호가 4번이면 첫번째 글자부터 네번째 글자전 세번째 글자까지 세글자를 문자열로 반환한다.

문자열 추출하는 메서드(2)
substring(시작번호,끝번호)

  • 매개변수로 입력번호 인덱스시작번호부터 길이만큼 잘라내어 문자열 반환함
  • '안녕하세요'.substring(1,3) => 녕하
  • slice()와 다른 점은 시작인덱스가 끝인덱스보다 커도 처리가능
  • substring(-2,6)은 substring(4,6)과 같은 결과.
    음수로 시작번호가 문자열 길이보다 큰 경우 시작번호는 0으로 처리

문자열의 공백을 지우는 trim()

  • String.trim()를 쓰면 공백이 없어짐.
  • '롤린 롤린 롤린 자꾸 너만 보면~'이 띄어쓰기 없이 다 붙음

문자열을 연결하는 concat()

  • 이건 그냥 '+' 쓰면 됨.

매개변수로 받은 패턴과 일치하는 문자열의 부분을 새로운 문자열로 교체해주는 함수, replace()

  • str.replcae(패턴(혹은 정규식),바꿀 문자열)
  • 자세한 내용은 여기 참고.

찾고자 하는 문자열의 인덱스를 반환하는 함수, indexOf()

  • String.indexOf(str)이 들어가면,
    str이 있는 인덱스를 반환한다.
  • 없으면 -1을 반환

찾고자 하는 문자열을 뒤에서부터 검색해서 인덱스반환, lastIndexOf()

  • indexOf()랑 별 차이없다. 그냥 뒤에서 검색해서 인덱스 반환

문자열에 문자가 포함되어있는지 확인하는 함수, include()

  • String.include(str)
  • 문자열의 str문자가 있는지 없는지 확인하여 true,false 리턴

어느 문자열을 기준으로 문자열을 분리하여 배열값으로 반환하는 함수, split()

  • String.split(문자나 문자열)
  • 문자와 일치하는 부분을 기준으로 쪼개서 배열값으로 리턴함.
  • String 객체는 읽기 전용이라 변수에 할당해야 사용하기 편함.

대/소문자 변환해주는 함수 toUpperCase(), toLowerCase()

  • 문자열을 대문자 혹은 소문자로 전부 바꿔주는 함수.

immutable 원본이 변하지 않음 <-> mutable

문자열의 함수와 메소드는 새로운 문자열로 반환하는 것이기에 변수의 값은 변하지 않는다.

탭문자(\t) 캐리지리턴문자(\r\n) 리턴문자(\n)

캐리지리턴이란 커서의 위치를 앞으로 이동.

Match()랑 search()는 정규표현식이랑 같이 쓰는데 이건 좀 어렵고 중요하다고 생각해서 다음 편에 자세하게 해 볼게요.

profile
'하루를 참고 인내하면 열흘을 벌 수 있고 사흘을 참고 견디면 30일을, 30일을 견디면 3년을 벌 수 있다.'

0개의 댓글