ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 문자열
    javascript 2020. 10. 28. 21:49

    문자열

    • str[index]
    var str = 'CodeStates';
    console.log(str[0]);  //'C'
    console.log(str[4]);  //'S'
    console.log(str[10]); //'undefined
    • ** Note : index로 접근은 가능하지만 쓸 수는 없음(read-only) **
    str[0] = 'G';
    console.log(str);  //'CodeStates'로 출력됨. 'GodeStates'로 출력되지 않는다. 
    //즉, index로 접근은 가능하지만 쓸 수는 없다.(값을 바꿀 수 없다)(read-only)
    //하지만 그렇다고해서 에러를 발생시키는 것도 아니니 주의가 필요하다.
    • 문자열은 항상 read-only이다. 새로 할당하지 않는 한 계속 그 값이 바뀌지 않는다.

    str.indexof(searchValue)

    • arguments : 찾고자 하는 문자열
    • return value : 처음으로 일치하는 index, 찾고자 하는 문자열이 없으면 -1
    • lastIndexOf는 문자열 뒤에서 부터 찾음
    'Blue Whale'.indexOf('Blue');  // 0
    'Blue Whale'.indexOf('blue');  // -1
    'Blue Whale'.indexOf('Whale');  // 5
    'Blue Whale Whale'.indexOf('Whale');  //5
    
    'canal'.lastIndexOf('a');  //3

    str.split(seperator)

    • arguments : 분리 기준이 될 문자열
    • return value : 분리된 문자열이 포함된 배열
    var str = 'Hello from the other side';
    console.log(str.split(' '));
    //['Hello', 'from', 'the', 'other', 'side']

    str.substring(start, end)

    • arguments : 시작 index, 끝 index
    • return value : 시작과 끝 index 사이의 문자열
    var str = 'abcdefghij';
    console.log(str.substring(0,3));  //'abc'  //0,1,2 번째의 문자를 가지고 온다. 즉a,b,c
    console.log(str.substring(3,0));  //'abc'  //숫자가 바껴도 사실 상관없다. 이 사이의 문자열을 가져오는 것.
    console.log(str.substring(1,4));  //'bc'  //1,2,3 번째의 문자를 가지고 온다. 즉 b,c,d
    console.log(str.substring(-1,4));  //'abcd', 음수는 0으로 취급. 즉 0,1,2,3번째 숫자를 가져온다. 따라서 abcd
    console.log(str.substring(0,20));  //'abcdefghij', index범위 밖으로 나가면 끝의 문자열 까지만

    ✓ substring(), substr(), slice()

    • substr()

      string.substr(str, length)

    substr() 함수는 파라미터로 입력받은 start index부터 length길이만큼 string을 잘라내어 반환하는 함수.

    var str = 'abcdefghij';
    
    str.substr(1,2);        //'bc'
    str.substr(-3,2);        //'hi'    
    str.substr(1);            //'bcdefghij'        //아규먼트에 start만 넣어주면 start부터 시작해서 문자열 끝까지
    str.substr(20);            //''(빈 문자열)
    str.substr(20, 2);    //''(빈 문자열)        //start의 길이가 문자열을 초과하면 빈 문자열이 나온다.
    str.substr(-15);        //'abcdefghij'
    str.substr(-20, 2);    //'ab'    //start의 -가 문자열 길이를 초과하면 0번째 자리부터 시작한다.
    • slice()

    substring() 함수와 마찬가지로 파라미터로 자를 문자열의 start index와 end index를 전달

    var str1 = 'The morning is upon us.';        //str1.length = 23
    str1.slice(1,8)        // 'he morn'
    str1.slice(4, -2)    //    'morning is upon u'
    str1.slice(12)    // 'is upon us.'
    str1.slice(30)    // ''(빈 문자열)
    str1.slice(-30)    // 'The morning is upon us.'

    참조 : [Javascript] substr(), substring(), slice() 비교 👈여기 꼭 참조해보기. substring과 slice의 차이점도 나와있다.

    str.toLowerCase()/str.toUpperCase()

    • arguments : 없음
    • return value : 대, 소문자로 변환된 문자열
    console.log('AlPHaBET'.toLowerCase());  //'alphabet'
    console.log('alPHAbet'.toUpperCase());  //'ALPHABET'
    • 모든 String method는 immutable
    • 즉, 원본이 변하지 않음
    • array method는 immutable 및 mutable 여부를 잘 기억해야 함.

    ※추가로 볼 것

    parseInt()와 Number()함수의 차이

    String () vs toString ()

    댓글

Designed by Tistory.