본문 바로가기

02. JavaScript/01. 기본개념, 문법 (ES6)

JavaScript_03. 내장 객체_String

※ 본 내용은 해당 교재를 참고하여 공부한 내용과 본인의 생각을 정리한 글입니다.

https://www.yes24.com/Product/Goods/105608999

 

바닐라 자바스크립트 - 예스24

실무 역량까지 한 번에 잡을 수 있는바닐라 자바스크립트 이론서자바스크립트는 이제 브라우저를 넘어 웹 애플리케이션뿐만 아니라 마이크로 컨트롤러까지 점점 사용하는 곳이 늘어나고 있다.

www.yes24.com

 

 

 String 객체는 자바스크립트에서 문자열을 다루기 위한 객체로 문자열을 다룰 때 유용한 프로퍼티와 함수를 제공한다.

 

● length()

 문자열 길이를 반환하는 함수이다.

 

indexOf()

 문자열 안에 특정 문자열이 존재하는지를 찾고, 있다면 찾고자 하는 문자열이 시작되는 index를 반환하는 함수이다. 문자열을 발견하지 못하면 -1를 반환.

 

● lastIndexOf()

 문자열 안에 특정 문자열이 존재하는지를 찾는 것은 indexOf() 함수와 동일하다. 다만 lastIndexOf()는

찾고자 하는 문자열이 둘 이상 발견되면 제일 마지막에 발견된 문자열의 index를 반환. 문자열을 발견하지 못하면 -1를 반환. 

 

두 함수 첫 번째 파라미터에는 찾고자 하는 문자열, 두 번째 파라미터에는 문자열을 찾기 시작할 위치 index를 줄 수 있다.

 

● slice()

 파라미터로 시작 위치와 종료 위치를 주면, 문자열에 해당 부분을 잘라내서 반환하는 함수이다. 생략하면 맨 처음, 맨 마지막으로 인식하며 음수를 주면 거꾸로 읽는다.

 

● subString()

slice() 함수와 동일한 기능을 한다. 단, 파라미티로 음수를 허용하지 않는다.

 

● substr()

 slice() 함수와 유사하다. 단, 두 번째 파라미터는 종료 인덱스가 아니라 첫 번째 파라미터인 시작 위치에서 잘라낸 문자의 길이이다.

 

● replace()

 문자열 내의 특정 문자열을 지정한 문자열로 바꾸는 함수이다. 바꾸려는 문자열이 하나 이상 있더라도 처음 발견한 문자열만 변경.

 

● toUpperCase(), toLowerCase()

 문자열을 모두 대문자, 소문자로 변경하는 함수이다.

 

● concat()

 2개 이상의 문자열을 하나의 문자열로 합치는 함수이다.

 

● trim()

 문자열의 앞, 뒤 공백을 모두 제거하는 함수이다.

 

● padStart(), padEnd()

 문자열 앞에 지정된 문자를 지정된 길이만큼 추가하는 함수이다.

 

● charAt()

 문자열에서 특정 인덱스에 해당하는 문자 하나를 반환하는 함수이다.

 

● charCodeAt()

 문자열에서 특정 인덱스에 해당하는 문자 하나의 유니코드 값을 반환하는 함수이다.

 

● split()

 문자열 내의 특정 구분자를 기준으로 문자열을 분리해서 배열로 반환하는 함수이다.

 

● startsWith(), endsWith()

 문자열의 시작이 파라미터로 전달된 문자열로 시작되는지, 종료되는지를 확인하는 함수이다.

 

<!DOCTYPE html>
<html>

<head>
    <title>Document</title>
</head>

<body>
    <script>
        var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        var sln = txt.length;

        var str = "Please locate where 'locate' occurs!";
        var pos = str.indexOf("locate"); //7

        var str = "Please locate where 'locate' occurs!";
        var pos = str.lastIndexOf("locate"); //21
        console.log(pos);

        var str = "Please locate where 'locate' occurs!";
        var pos = str.indexOf("locate", 15); //15번째 index 부터 찾기 시작

        var str = "Apple, Banana, Kiwi";
        var res = str.slice(7, 13); //Banana

        var str = "Apple, Banana, Kiwi";
        var res = str.slice(7); //Banana, Kiwi

        var str = "Apple, Banana, Kiwi";
        var res = str.slice(-12); //Banana, Kiwi

        var str = "Apple, Banana, Kiwi";
        var res = str.substring(7, 13); //Banana

        var str = "Apple, Banana, Kiwi";
        var res = str.substr(7, 6); //Banana

        var str = "Apple, Banana, Kiwi";
        var res = str.substr(7); //Banana, Kiwi

        var str = "Apple, Banana, Kiwi";
        var res = str.substr(-12); //Banana, Kiwi

        str = "Please visit Seoul and Seoul!";
        var n = str.replace("Seoul", "Jeju"); //Please visit Jeju and Seoul!

        str = "Please visit Seoul and Seoul!";
        var n = str.replace("SEOUL", "Jeju"); //Please visit Seoul and Seoul!

        str = "Please visit Seoul and Seoul!";
        var n = str.replace(/SEOUL/i, "Jeju"); //Please visit Jeju and Seoul!

        str = "Please visit Seoul and Seoul!";
        var n = str.replace(/Seoul/g, "Jeju"); //Please visit Jeju and Jeju!

        var text1 = "Hello World!";
        var text2 = text1.toUpperCase(); // HELLO WORLD!

        var text1 = "Hello World!";
        var text2 = text1.toLowerCase(); // hello world!

        var text1 = "Hello";
        var text2 = "World";
        var text3 = text1.concat(" ", text2);
        var text4 = "Hello" + " " + "World!";
        var text5 = "Hello".concat(" ", "World!");

        var str = "   	Hello World!    	";
        console.log(str.trim()); //Hello World!

        var str = "5";
        str = str.padStart(4, 0); // 0005

        var str = "5";
        str = str.padEnd(4, 0); // 5000

        var str = "HELLO WORLD";
        str.charAt(0); // H

        var str = "HELLO WORLD";
        str.charCodeAt(0); // 72

        var birthday = "1997-06-12";
        var arr2 = birthday.split("-"); //하이픈(-)을 기준으로 문자열을 분리해서 배열로 반환
        console.log(arr2); //["1997","06","02"]

        var url = "http://website.com";
        if (url.startsWith("http://") || url.startsWith("https://")) {
            // 올바른 형식의 웹사이트 url
        } else {
            // 잘못된 형식의 웹사이트 url
        }

        var file = "abc.pdf";
        if (file.endsWith(".pdf")) {
            //pdf 파일
        } else {
            //다른 형식의 파일
        }
    </script>
</body>

</html>