본문 바로가기
Frontend/JavaScript

JavaScript 내장함수 : String관련 내장함수

by 코딩쥐 2024. 8. 4.

String 객체는 문자열을 다룰 때 유용한 프로퍼티와 메서드를 제공한다. 변수 또는 객체 프로퍼티가 문자열 값을 가지고 있으면 별도의 생성 없이 String 객체의 프로퍼티와 메서드를 사용할 수 있다. 

 

메서드 설명
charAt() 지정한 위치의 문자가 무엇인지 알 수 있다.
codePointAt() 지정한 위치의 문자를 유니코드로 변환한다.
fromCodePoint() 유니코드를 문자로 변환한다.
indexOf() 지정한 문자열의 첫 번째 인덱스 위치를 알아낸다.
lastIndexOf() 지정한 문자열의 마지막 인덱스 위치를 알아낸다
slice() 매개변수에 맞게 문자열을 추출한다. 첫번째 인수로 전달한 인덱스에 해당하는 문자부터 두번째 인수에 전달된 인덱스에 해당하는 문자 이전까지의 문자를 반환한다.
substring()
replace(인수1, 인수2) 첫번째 인수로 전달된 문자열/정규표현을 대상 문자열에서 검색하여 두번째 인수로 대체한다. 
split() 첫번째 인수로 전달한 문자열/정규표현식을 대상 문자열에서 검색하여 문자열을 구분하여 반환한다.
toLowerCase() 대상 문자열을 모두 소문자로 변경한다.
toUpperCase() 대상 문자열을 모두 대문자로 변경한다.
trim() 대상 문사열 양 끝에 있는 공백 문자를 제거한 문자열을 반환한다.
repeat() 인수로 전달한 숫자만큼 해당 문자열을 반복해 연결하여 반환한다. 
includes() 인수로 전달한 문자열이 포함되어있는지를 확인한다.
startWith() 해당 문자열이 첫번째 파라미터 문자열로 시작하면 true 아니면 false를 반환한다.
endWith() 해당 문자열이 첫번째 파라미터 문자열로 끝이면 true 아니면 false를 반환한다.
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // charAt, codePointAt, fromCodePoint
        let str1 = "abcdefg";
        console.log(str1.charAt(4)); // e , index 4에 위치한 문자열 반환
        console.log(str1.codePointAt(3)); // 100, d를 유니코드로 변환
        console.log(String.fromCodePoint(100));// d, 유니코드100을 반환

        //indexOf, lastIndexOf
        let str2 = "안녕하세요. 반갑습니다. 코딩쥐의 티스토리입니다."
        console.log(str2.length); // 27
        console.log(str2.indexOf("반")); // 7, 띄어쓰기 포함
        console.log(str2.lastIndexOf("다")) // 25, 마지막 "다"의 index번호

        //slice, substring, substr
        let str3 = "첫번째 문장, 두번째 문장"
        console.log(str3.slice(-6)); // 두번째 문장, 뒤에서 6자리를 잘라내어 반환한다, substring과 달리 음수 가능 
        console.log(str3.substring(0, 6)); // 첫번째 문장, slice와 동일하지만 음수의 인수 전달 불가능

        //replace, split
        let str4 = "이 문장은 여기부터 교체됩니다."
        console.log(str4.replace("여기부터 교체됩니다", "교체되었습니다"));//이 문장은 교체되었습니다.
        console.log(str4.split(/\s/)) //['이', '문장은', '여기부터', '교체됩니다.'], 정규표현식을 사용할 수도 있다.

        //toLowerCase, toUpperCase
        let str5 = "abcDEF";
        console.log(str5.toLowerCase()); //abcdef
        console.log(str5.toUpperCase()); //ABCDEF

        //trim
        let str6 = "      안녕 반가워 나는 코딩쥐야     ";
        console.log(str6.trim()); //"안녕 반가워 나는 코딩쥐야"
        console.log(str6.trimStart()); // "안녕 반가워 나는 코딩쥐야     "
        console.log(str6.trimEnd()); //"      안녕 반가워 나는 코딩쥐야"

        //repeat
        console.log("ab".repeat(5)); //ababababab

        //includes
        let str7 = "문자열이 포함되어있는지 확인한다."
        console.log(str7.includes("문자열")); //true

        //startWith, endWith 
        let str8 = "12345 abcdef"
        console.log(str8.startsWith("f")); //false
        console.log(str8.endsWith("f")); //true

    </script> 
</body>

</html>