JS 문법 - String 자료형

KODYwiththeK·2022년 12월 2일
0

JavaScript

목록 보기
11/32

JS 문법 - String 자료형

Class: 제로베이스
Created: November 30, 2022 4:21 PM
Type: Javascript
강의 명: 이론부터 실전까지 모든 것을 담은 자료구조/알고리즘

String 자료형

  • 텍스트 길이에 상관 없이 문자열 형태로 저장되는 자료형
  • 자바스크립트에서는 글자 하나만 저장되는 char 자료형이 없다
  • 자바스크립트에서 문자열은 페이지 인코딩 방식과 상관없이 항상 UTF-16 형식을 따름
  • 대표 속성(propery과 메서드(method)
    • String.length - 문자열 길이
    • String.charAt(index), String.charCodeAt - index로 문자열 접근
    • String.indexOf( ), String.lastIndexOf( ), String,includes( ), String.startsWirth( ) 등 - 문자열 검색
    • String.toUpperCase( ), String.toLowerCase( ) - 문자열 변환
    • String.replace( ) - 문자열 치환
    • String.slice( ), String.substring( ), String.substr( ) - 문자열 추출
    • String.split( ), String.join( ) - 문자열 분할, 결합

문자 정의 및 표기

정의 방법

  • string 정의 방법: 큰따옴표( “hello” ) , 작은따옴표( ‘hello’ ) , 생성자함수( String( ) )
  • 문자열과 변수 혼합 표현 방법: 역 따옴표( Hello )

문자 표기

다양한 문자 표기 방법

Line feed( \n ), Carriage return( \r ), Backslash( \ ), Tab( \t ), Unicode( \u{} )

console.log("line\nfeed") // line(줄바꿈)feed
console.log("line\rfeed") // line(줄바꿈)feed
console.log("line\\feed") // line\feed
console.log("line\tfeed") // line	feed
console.log("line\u{1F60D}feed") // line😍feed

문자열 길이

str.length - 빈칸을 포함한 문자열의 길이를 확인한다.

문자 접근

문자열 내 개별 문자 접근 방법

let str = "hello"

console.log(str.charAt(1)); // e
console.log(str.charCodeAt(1)); // 101
console.log(str[0]); // h

문자열 검색

  • 문자열 검색(index): String.indexOf(substr, pos), String.lastIndexOf(substr, pos)
  • 문자열 검색(bool): String,includes(substr, pos), String.startsWith(substr, pos), String.endsWith(Substr, pos)
    let text = "hello, world!";
    
    console.log(text.indexOf("l")) // 2 
    console.log(text.indexOf("l", 4)) // 10
    console.log(text.lastIndexOf("l")) // 10
    
    console.log(text.includes("hello")) // true
    console.log(text.startsWith("el",1)) // true
    console.log(text.endsWith("ld!")) // ture

문자열 대소문자 변환

  • String.toUpperCase( ), String.toLowerCase( )
    console.log(text.toUpperCase()) // HELLO, WORLD!
    console.log(text.toLowerCase()) // hello, world!

문자열 치환

  • replace( ‘a’, ‘b’ ) : 문자열에서 가장 처음 발견되는 a 하나를 b 로 바꿈
    • 모두 바꾸고 싶으면, 정규 표현식 사용해야 함.
  • match( / .+(?=@) /) : 어떤 특정 문자데이터에서 정규표현식을 통해, 특정 문자를 일치(match) 시킬 수 있고, 그것을 배열데이터로 반환, 그 배열데이터 내부에서 원하는 정보를 추출할수도 있다.

문자열 추출

  • 위치 기반 문자열 추출
    • String.slice(start, end) - start 인덱스부터, end 인덱스 바로 전까지 추출
    • String.substring(start, end)
  • 길이 기반 문자열 추출
    • String.substr(start, length): 시작점(start)부터 몇글자(length) 추출할건지
let text = "hello, world!";

console.log(text.slice(0, 5)); // hello 
console.log(text.slice(4, 5)); // o
console.log(text.slice(4)); // o, world!
console.log(text.slice(-4)); // rld!

console.log(text.substring(2, 6)) // llo,
console.log(text.substring(6, 2)) // llo, -> start, end 값 바꿔도 동작

console.log(text.substr(2, 6)) // llo, w

문자열 분할

문자열을 분할해서 배열로 반환 : String.split(Separator, limit)

let fruits = "apple/banana/melon"
console.log(fruits.split("/")) //[ 'apple', 'banana', 'melon' ]

정규표현식

https://heropy.blog/2018/10/28/regexp/

문자열 메소드 정리

프로토타입 메소드설명
indexOf()String 인스턴스에서 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스를 반환함.
lastIndexOf()String 인스턴스에서 특정 문자나 문자열이 마지막으로 등장하는 위치의 인덱스를 반환함.
charAt()String 인스턴스에서 전달받은 인덱스에 위치한 문자를 반환함.
charCodeAt()String 인스턴스에서 전달받은 인덱스에 위치한 문자의 UTF-16 코드를 반환함. (0 ~ 65535)
charPointAt()String 인스턴스에서 전달받은 인덱스에 위치한 문자의 유니코드 코드 포인트(unicode code point)를 반환함.
slice()String 인스턴스에서 전달받은 시작 인덱스부터 종료 인덱스 바로 앞까지의 문자열을 추출한 새 문자열을 반환함.
substring()String 인스턴스에서 전달받은 시작 인덱스부터 종료 인덱스 바로 앞까지의 문자열을 추출한 새 문자열을 반환함.
substr()String 인스턴스에서 전달받은 시작 인덱스부터 길이만큼의 문자열을 추출한 새로운 문자열을 반환함.
split()String 인스턴스에서 구분자(separator)를 기준으로 나눈 후, 나뉜 문자열을 하나의 배열로 반환함.
concat()String 인스턴스에 전달받은 문자열을 결합한 새로운 문자열을 반환함.
toUpperCase()String 인스턴스의 모든 문자를 대문자로 변환한 새로운 문자열을 반환함.
toLowerCase()String 인스턴스의 모든 문자를 소문자로 변환한 새로운 문자열을 반환함.
trim()String 인스턴스의 양 끝에 존재하는 공백과 모든 줄 바꿈 문자(LF, CR 등)를 제거한 새로운 문자열을 반환함.
search()인수로 전달받은 정규 표현식에 맞는 문자나 문자열이 처음으로 등장하는 위치의 인덱스를 반환함.
replace()인수로 전달받은 패턴에 맞는 문자열을 대체 문자열로 변환한 새 문자열을 반환함.
match()인수로 전달받은 정규 표현식에 맞는 문자열을 찾아서 하나의 배열로 반환함.
includes()인수로 전달받은 문자나 문자열이 포함되어 있는지를 검사한 후 그 결과를 불리언 값으로 반환함.
startsWith()인수로 전달받은 문자나 문자열로 시작되는지를 검사한 후 그 결과를 불리언 값으로 반환함.
endsWith()인수로 전달받은 문자나 문자열로 끝나는지를 검사한 후 그 결과를 불리언 값으로 반환함.
toLocaleUpperCase()영문자뿐만 아니라 모든 언어의 문자를 대문자로 변환한 새로운 문자열을 반환함.
toLocaleLowerCase()영문자뿐만 아니라 모든 언어의 문자를 소문자로 변환한 새로운 문자열을 반환함.
localeCompare()인수로 전달받은 문자열과 정렬 순서로 비교하여 그 결과를 정수 값으로 반환함.
normalize()해당 문자열의 유니코드 표준화 양식(Unicode Normalization Form)을 반환함.
repeat()해당 문자열을 인수로 전달받은 횟수만큼 반복하여 결합한 새로운 문자열을 반환함.
toString()String 인스턴스의 값을 문자열로 반환함.
valueOf()String 인스턴스의 값을 문자열로 반환함.
profile
일상 속 선한 영향력을 만드는 개발자를 꿈꿉니다🧑🏻‍💻

0개의 댓글

관련 채용 정보