본문 바로가기
WEB/JavaScript

[JavaScript] 문자열 (String) 객체

by Amy IT 2022. 6. 27.

 

String 객체는 원시 타입인 문자열을 다룰 때 유용한 속성과 메소드를 제공하는 레퍼(wrapper) 객체입니다. 변수 또는 객체 속성이 문자열을 값으로 가지고 있다면 String 객체의 별도 생성없이 String 객체의 속성과 메소드를 사용할 수 있습니다.

 

목차

     

     

    문자열 생성

    new 키워드 이용

    var strObj = new String("hello");

     

    리터럴 이용

    var str = "hello";

     

    var strObj = new String("hello"); //String 객체 
    var str = "hello"; ////string 타입
    
    console.log(strObj); //String {'hello'}
    console.log(strObj.toString()); //hello
    console.log(str); //hello
    
    console.log(strObj == str); //true  내용비교
    console.log(strObj === str); //false  타입까지 비교

     

     

     

    문자열 속성

    length

    문자열의 길이를 반환합니다. String 객체는 length 속성을 가지므로 유사 배열 객체입니다. 

    console.log(str.length); //5

     

     

     

    문자열 순회

    String 객체는 유사 배열 객체이므로 배열과 유사하게 문자열을 순회할 수 있습니다.

    var str = "hello";
    for (let i = 0; i < str.length; i++) {
    	console.log(str.charAt(i));
    }
    for (let i = 0; i < str.length; i++) {
    	console.log(str[i]);
    }

     

     

     

    문자열 메소드

     

    메소드 설명
    charAt(index) 지정한 인덱스에 해당하는 문자를 리턴
    concat(s, s2, s3, ...) 지정한 문자열들을 연결하여 리턴
    indexOf(str [, fromIndex]) 지정한 str에 해당하는 값의 인덱스를 리턴
    일치하는 str이 없으면 -1 리턴
    includes(str [, fromIndex]) 지정한 문자열이 포함되어 있는지 검사한 결과를 boolean 값으로 리턴
    split(separator [, 개수]) 특정 구분자를 기준으로 문자열을 분리하여 배열을 리턴
    toLowerCase() 문자열을 모두 소문자로 변경하여 리턴
    toUpperCase() 문자열을 모두 대문자로 변경하여 리턴
    substring(start, end) 문자열의 start idx 부터 end -1 idx 까지 부분열을 리턴
    substr(start, length) 문자열의 start idx 부터 length 개수만큼 리턴
    replace(searchValue, replacer) 문자열에서 일치하는 패턴에 해당하는 값을 변경값으로 대체하여 리턴
    trim() 양쪽 끝에 있는 공백 문자를 제거한 문자열을 리턴

     

    charAt(index)

    지정한 인덱스에 해당하는 문자를 반환합니다. 인덱스는 0부터 시작하며, 지정한 인덱스가 문자열의 범위를 벗어난 경우 빈문자열을 반환합니다.

    var s = "Hello"; 
    console.log(s.charAt(0)); //H

     

    concat(s, s2, s3, ...)

    지정한 문자열들을 연결하여 새로운 문자열을 반환합니다. 

    var s = "Hello"; 
    var s2 = s.concat(" World");
    console.log(s2); //Hello World

     

    indexOf(str [, fromIndex])

    지정한 문자열을 대상 문자열에서 검색하여 처음 발견된 곳의 인덱스를 반환합니다. 일치하는 문자열이 없으면 -1을 반환합니다. 검색을 시작할 인덱스 번호를 지정할 수도 있습니다.

    var s = "Hello"; 
    console.log(s.indexOf('lo')); //3
    console.log(s.indexOf('x')); //-1
    console.log(s.indexOf('l', 3)); //3

     

    includes(str [, fromIndex])

    지정한 문자열이 포함되어 있는지 검사한 결과를 boolean 값으로 반환합니다. 검색을 시작할 인덱스 번호를 지정할 수도 있습니다.

    var s = "Hello World";
    console.log(s.includes("Hello")); //true
    console.log(s.includes("lo", 4)); //false

     

    split(separator [, 개수])

    특정 구분자(separator)를 기준으로 문자열을 분리하여 각 문자열로 이루어진 배열을 반환합니다. 원본 문자열은 변경되지 않습니다. 구분자를 지정하지 않으면 대상 문자열 전체를 단일 요소로 하는 배열을 반환합니다. 반환받을 배열 요소의 개수를 지정할 수 있습니다.

    var s = "aa bb cc dd ee ff";
    var arr = s.split(' ');
    console.log(arr); //(6) ['aa', 'bb', 'cc', 'dd', 'ee', 'ff']
    var arr2 = s.split(' ', 3);
    console.log(arr2); //(3) ['aa', 'bb', 'cc']

     

    toLowerCase(), toUpperCase()

    문자열을 모두 소문자/대문자로 변경하여 반환합니다.

    var s = "HeLlo";
    console.log(s.toLowerCase()); //hello
    console.log(s.toUpperCase()); //HELLO

     

     

    substring(start, end)

    문자열의 start idx 부터 end -1 idx 까지 부분열을 반환합니다. end idx를 지정하지 않으면 문자열의 끝까지 반환합니다.

    var s = "Hello World";
    console.log(s.substring(1,4)); //ell
    console.log(s.substring(6)); //World

     

    substr(start, length)

    문자열의 start idx 부터 length 개수만큼 반환합니다. length를 지정하지 않으면 문자열의 끝까지 반환합니다.

    var s = "Hello World";
    console.log(s.substr(1,4)); //ello
    console.log(s.substr(6,1)); //W
    console.log(s.substr(6)); //World

     

    replace(searchValue, replacer)

    문자열에서 일치하는 패턴에 해당하는 값을 변경값으로 대체하여 반환합니다. 기본적으로 첫번째로 검색된 문자열만 대체합니다.

    var s = "Hello World";
    console.log(s.replace("o", "U")); //HellU World

     

    trim()

    양쪽 끝에 있는 공백 문자를 제거한 문자열을 반환합니다.

    var s = "   hello   ";
    console.log(s.length, s.trim().length); //11    5

     

     

    참고

    https://poiemaweb.com/js-string

     

     

    댓글