문자열 문자 유형

* “여러 줄 가능

/*``을 사용하면 여러줄 표현 가능*/
let desc = `오늘은 맑고 화창한
날씨가 계속 된다`;

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

* 길이: 문자열의 길이는 배열과 같은 방식으로 접근할 수 있습니다.

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) : 인덱스와 동일한 0부터 시작하여 n에서 m까지 특정 범위의 문자열을 반환합니다.

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("콜라");//금칙어가 있습니다.