문자열(String)이란?

franchesca·2021년 3월 7일
0

JavaScript

목록 보기
5/7
post-thumbnail

개념

  • 평소에 책 등에서 보는 글자
  • ' 또는 "을 사용하여 문자열을 구분

📍 Basic usage

str[index]

  • 문자열의 글자 하나하나에 접근할 수 있다 (accessing a character)
  • index로 접근은 가능하지만 그 값을 바꿀 수는 없음 (read-only)
    ex) str[0] = 'G';
    console.log(str); // 'CodeStates' not 'GodeStates', 에러가 나지는 않음
  • 문자열은 새로 할당하지 않는 한 항상 read-only!

Concatenating strings

  • + 연산자를 쓸 수 있음 (-는 안됨)
  • string 타입과 다른 타입 사이에 + 연산자를 쓰면, string 형식으로 변환 (toString)
    ex) var str3 = '1';
    console.log(str3 + 7); //17
  • strl.concat(str2, str3 ...); 의 형태로도 사용해서 문자열을 더하는 방법도 있다

Properties

  • length
    문자열의 전체 길이를 반환
    ex) console.log(str.length); //10

Methods

1) str.indexOf(searchValue)

  • 메소드 이름
    ex) indexOf
  • argument: 찾고자하는 문자열
    ex) searchValue(넣어야 할 argument)
  • return value: 처음으로 일치하는 index. 찾고자 하는 문자열이 없으면 -1
  • str.lastIndexOf : 문자열 뒤에서부터 찾음
    ex) 'canal.lastIndexOf('a'); //3
  • str.includes(searchValue)
    :true 또는 false를 리턴
    ex)'blue whale'.includes('Blue') //false
    indexOf에 includes의 기능이 포함

2) str.split(seperator)

  • argument: 분리 기준이 될 문자열
  • return value: 분리된 문자열이 포함된 배열
    ex) var str = 'Hello from the other side';
    console.log(str.split(' ')); //['Hello', 'from', 'the', 'other', 'side']
  • csv(comma-seperated values) 형식을 처리할 때 유용
    ex) csv.split('\n') -줄바꿈으로 나눔
    [공백 문자: 탭 문자(\t), Carrige return(\r\n) 및 return 문자(\n)]
    lines[0].split(',') -쉼표로 나눔

3) str.substring(start, end)

  • argument: 시작 index, 끝 index
  • return value: 시작과 끝 index 사이의 문자열
  • start와 end가 바뀌어도 상관 없음
  • end는 optional, 포함하지 않음
    ex) var str = 'abcdef';
    console.log(str.substring(0, 3)); //'abc'

4) str.toLowerCase() / str.toUpperCase()

  • arguments: 없음
  • return value: 소, 대문자로 변환된 문자열
    ex) console.log('ALPHABET'.toLowerCase()); //'alphabet'
  • 문자열 비교할 때 주로 사용

5) Etc

  • trim
  • match
  • replace
  • 정규 표현식

Immutable

  • 원본이 변하지 않는다
  • 모든 string method는 immutable
  • 항상 변하지 않는 값을 리턴
  • 바뀐 값을 대입하고 싶으면 새로 대입하는 방법밖에 없음
    ex) str = str.substring(0,4)
  • array method는 immutable 및 mutable 여부를 잘 기억해야 한다

Self-check

  • 문자열의 속성과 메소드를 이용해 원하는 형태로 만들 수 있나요?
  • 문자열의 length라는 속성을 활용해 길이를 확인할 수 있나요? str.length
  • 문자열의 글자 하나하나에 접근하는 방법은? str[1]
  • 문자열을 합치려면? word1 + " " + word2
  • 문자열을 원하는 만큼 잡으려면? str.slice(0, 3) str.substring(0, 3)
  • 영문을 모두 대문자로 바꾸려면? str.toUpperCase
  • 영문을 모두 소문자로 바꾸려면? str.toLowerCase
  • 문자열 중 원하는 글자의 index를 찾으려면? str.indexOf('a')
  • 문자열 중 원하는 글자가 포함되어 있는지 알려면? str.includes('a')

Advanced challenges

  • 띄어쓰기 (" ") 로 문자열을 구분하여, 배열로 바꿀 수 있다. str.split(" ").join(" ")
  • 위의 배열을 다시 문자열로 바꿀 수 있다.
profile
말하기 보다 생각하는, 생각하기보다 볼 줄 아는 개발자가 되려고 합니다✨

0개의 댓글