* “여러 줄 가능
/*``을 사용하면 여러줄 표현 가능*/
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("콜라");//금칙어가 있습니다.