TIL.20 String / Number

h986680·2020년 11월 21일
0


String (문자열)

문자열

  • 텍스트 데이터를 문자열이라고 한다.
  • '' (홑따옴표), "" (쌍따옴표), ``(백틱) 모두 사용 가능하지만 ''(홑따옴표) 로 많이 사용한다.
  • 백틱 안에는 문자열과 함께 ${함수} 형태도 사용 가능하다.
  • 대문자와 소문자를 구분하여 사용한다.

문자열 함수


str.length

  • 문자열의 길이를 숫자로 반환해주는 함수.
  • length 뒤에 괄호 넣지 않음 주의!

str.toLowerCase () / str.toUpperCase ()

  • 문자열 전체를 대, 소문자로 바꿔준다.

str.indexOf ('문자열', 2)

  • 문자열에서 찾고싶은 특정문자열이 있는지 확인하고 첫문자의 인덱스를 반환한다.
  • 찾고싶은 문자열이 기존 문자열에 2개 이상 있을때는 몇번째를 찾는지 숫자로 표기해준다.
  • 찾는문자열이 없을때는 -1 를 반환한다.

str.slice(start [, end])

  • 문자열에서 start인덱스부터 end인덱스 바로 전까지만 반환한다.
  • 음수값도 넣을 수 있으며, 문자열 끝에서 부터 계산된다.
  • 인자를 하나만 넣으면 그 숫자부터 전체 열을 반환한다.

str.trim()

  • 문자열의 시작과 끝에서 공백을 제거 한다.

str.repeat(n)

  • 문자열을 n 숫자만큼 반복합니다.

str.split(separator, limit)

  • 문자열을 separator로 잘라서 limit 크기 이하의 배열에 잘라진 문자열을 저장하여 리턴한다.
  • separator, limit 모두 필수 입력사항이 아니며, separator 를 입력하지 않으면 문자열 전체를 배열에 담아서 리턴한다.


String <-> Number 변환

자바스크립트의 특징은 숫자형과 문자열의 데이터타입이 자유롭게 바뀔 수 있다는 점이다.

+ 는 js에서 str끼리 더하거나 변수에 str을 더할때도 사용한다. 하지만, - 는 숫자에만 쓸 수 있는 것을 생각한다면 쉽게 이해를 할 수 있다.

'String' + Number

  • 더해지는 데이터타입이 하나라도 문자열이면 문자열로 반환
  • 데이터타입도 string형 으로 변환.
  • 문자열에 숫자가 들어있어도 문자열로 더해준다.
    const a = '200'+'10'
    const b = 200+'11'
    console.log(a, typeof a); // '20010' 'string'
    console.log(b, typeof b); // '20011' 'string'

'String' - Number

  • 텍스트가 들어있는 문자열은 NaN 을 반환하고 숫자로 된 문자열은 숫자로 취급하여 계산.
  • 데이터 타입은 모두 number형으로 변환.
    const c = 'superstar' - 'star'
    const d = 'superstar' - 10
    const e = '200' - '10'
    console.log(c, typeof c); // NaN 'number'
    console.log(d, typeof d); // NaN 'number'
    console.log(e, typeof e); // 190 'number'

심화 활용

  • 위와 같은 특징을 활용하여 데이터 타입을 쉽게 바꿀 수 있다.
let numberAsNumber = 1234; 
let numberAsString = 1234 + "";
// 숫자에 따옴표를 더해서 string 으로 변환됨.
console.log(numberAsNumber, typeof numberAsNumber); // 1234 'number'
console.log(numberAsString, typeof numberAsString); // '1234' 'string'
//
//
var numberAsNumber = "1234"; 
var numberAsString = numberAsNumber - 0;
// 반대로 문자열에 0을 빼주면서 number형으로 바꿔줌
console.log(numberAsNumber, typeof numberAsNumber); // '1234' 'string'
console.log(numberAsString, typeof numberAsString); // 1234 'number'

0개의 댓글