ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • String 문자형
    javascript 2023. 4. 13. 16:46
    반응형

    * `` 여러줄 표현가능

    /*``을 사용하면 여러줄 표현 가능*/
    let desc = `오늘은 맑고 화창한
    날씨가 계속 된다`;
    
    /*''를 사용하면 줄바꿈을 할때 \n을 사용해야함, 줄바꿈을 하면 오류가 남*/
    let desc = '오늘은 맑고 화창한\n날씨가 계속 된다';
    let desc = '오늘은 맑고 화창한//error
    날씨가 계속 된다';

    * length : 배열과 동일하게 문자열의 길이를 접근 가능

    let desc = '안녕하세요.';
    
    desc.length//6

    * 배열과 동일하게 문자열도 [ ]와 숫자로 특정 위치에 접근 가능, 배열과 동일하게 0부터 시작, 하지만 배열과 다르게 한글자만 바꾸는 것은 안됨

    let desc = '안녕하세요.';
    
    desc[2]//'하'
    
    /*한글자만 바꾸는것 불가*/
    desc[4] = '용';
    console.log(desc);//안녕하세요.

    * toUpperCase(), toLowerCase() : 영어인 경우 대소문자로 변경 가능

    let desc = "Hi guys.";
    
    desc.toUpperCase();//"HI GUYS."
    desc.toLowerCase();//"hi guys."

    * str.indexOf(text) : 문자를 인수로 받아 몇번째에 위치하는지 알려줌

    let desc = "Hi guys. Nice to meet you.";
    
    desc.indexOf('to');//14
    
    /*만약 찾는 문자가 없으면 -1을 반환함*/
    desc.indexOf('man');//-1
    
    /*포함된 문자가 여러개가 있더라도 첫번째만 반환함*/
    
    /*if문 사용시 주의해야함*/
    if(desc.indexOf('Hi')){
        console.log('Hi가 포함된 문장입니다.');
    }
    //이경우 'Hi'가 포함된 인덱스 번호가 0이기 때문에 if문에서 0은 false를 나타내어 if문이 실행되지 않음
    if(desc.indexOf('Hi')>-1){//그래서 항상 -1보다 큰가로 비교해야함
        console.log('Hi가 포함된 문장입니다.');
    }

    * str.slice(n, m) : n부터 m까지 특정 범위의 문자열 반환, 인덱스와 동일하게 0부터 시작

    n : 시작점

    m : 없으면 문자열 끝까지 양수면 그 숫자까지 뽑아주는데 포함하지 않음 음수면 끝에서 부터 

    let desc = "abcdefg"
    
    desc.slice(2)//"cdefg"
    desc.slice(0, 5)//"abcde"
    desc.slice(2, -2)//"cde"

    * str.substring(n, m) : n부터 m까지 특정 범위의 문자열 반환, n과 m을 바꿔도 동작, 음수는 0으로 인식

    ler desc = "abcdefg";
    
    desc.substring(2, 5)//cde
    desc.substring(5, 2)//cde

    * str.substr(n, m) : n부터 시작해서 m개를 가져옴

    let desc = "abcdefg";
    
    desc.substr(2, 4);//"cdef"
    desc.substr(-4, 2)//"de"

    * str.trim() : 문자열 앞 뒤 공백을 제거

    let desc = " coding     ";
    
    desc.trim();//"coding"

    * str.repeat(n) : 문자열 n번 반복

    let hello = "hello!";
    
    hello.repeat(3);//"hello!hello!hello!"

    * 문자열 비교

    1 < 3//true
    "a" < "c"//true
    "A" < "a"//true : 대문자보다 소문자가 더 크다
    
    /*문자의 번호를 가져오기*/
    "a".codePointAt(0);//97
    
    /*숫자의 문자를 가져오기*/
    String.fromCodePoint(97);//"a"

    /*list 배열에서 숫자를 제외하고 문자만 가져오기*/
    let list = [
        "01. 들어가며",
        "02. js의 역사",
        "03. 자료형",
        "04. 함수",
        "05. 배열",
    ]
    
    let newList = [];
    
    for(let i = 0; i<list.length; i++){
        newList.push(
            list[i].slice(4);
        );
    }
    
    console.log(newList);//["들어가며", "js의 역사", "자료형", "함수", "배열"]
    
    //-------------------------------------------------------------------------------------------
    /*금칙어 : 콜라*/
    function hasCola(str){
        if(str.indexOf("콜라")){
            console.log("금칙어가 들어있습니다.");
        }else{
            console.log("통과");
        }
    }
    
    hasCola("와 사이다가 짱이야!");//금칙어가 있습니다. : indexOf()는 찾는 문자가 없으면 -1이 되기 때문에 if문에서 -1은 true
    hasCola("무슨소리, 콜라가 최고");//금칙어가 있습니다.
    hasCola("콜라");//통과 : "콜라"가 제일 첫번쨰에 있으니까 0이 되기 떄문에 if문에서 false
    
    //올바르게 변경
    function hasCola(str){
        if(str.indexOf("콜라") > -1){
            console.log("금칙어가 들어있습니다.");
        }else{
            console.log("통과");
        }
    }
    
    hasCola("와 사이다가 짱이야!");//통과
    hasCola("무슨소리, 콜라가 최고");//금칙어가 있습니다.
    hasCola("콜라");//금칙어가 있습니다.
    
    //-------------------------------------------------------------------------------------------
    /*
    금칙어 : 콜라
    includes
    문자가 있으면 true
    문자가 없으면 false
    */
    
    function hasCola(str){
        if(str.includes("콜라")){
            console.log("금칙어가 들어있습니다.");
        }else{
            console.log("통과");
        }
    }
    
    hasCola("와 사이다가 짱이야!");//통과
    hasCola("무슨소리, 콜라가 최고");//금칙어가 있습니다.
    hasCola("콜라");//금칙어가 있습니다.
    반응형

    'javascript' 카테고리의 다른 글

    Array  (0) 2023.04.13
    Number, Math  (0) 2023.04.12
    심볼 Symbol  (0) 2023.04.09
    객체Objcet에서 사용 가능한 methods와 Computed property  (0) 2023.04.08
    생성자 함수  (0) 2023.04.08

    댓글

Designed by Tistory.