250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 리액트 프로젝트
- React Hooks
- 파이썬 for in
- 파이썬 enumerate
- 프로그래머스
- 타입스크립트
- useEffect
- 내일배움캠프 최종 프로젝트
- 파이썬 딕셔너리
- 타입스크립트 props
- tanstack query
- 리액트 공식문서
- 리액트 훅
- 타입스크립트 리액트
- useState
- 파이썬 slice
- 자바스크립트
- 파이썬 for
- Next 팀 프로젝트
- JavaScript
- 내일배움캠프 프로젝트
- 한글 공부 사이트
- REACT
- 코딩테스트
- typeScript
- 파이썬 replace
- 내일배움캠프
- 리액트
- 파이썬 반복문
- 내배캠 프로젝트
Archives
- Today
- Total
sohyeon kim
[JS] String 문자열 메소드 indexof(), slice(), substring() 등 본문
728x90
' 작은 따옴표
" 큰 따옴표
` 벡틱
html 코드 같은 경우 작은 따옴표로 묶는게 편하다.
let html = '<div class ="box_title">TITLE</div>'; // 중간에 큰따옴표가 있으므로
영어로 된 문장은 큰 따옴표를 쓰는게 편하다.
let desc = "It's 3 o'clock.";
벡틱은 달러와 중괄호를 이용해 변수를 표현하거나 표현식을 쓸 수 있다.
let name = "aoto";
let result = `my name is ${name}.`; // my name is aoto.
let add = `2 더하기 3은 ${2 + 3}입니다.`; // 2 더하기 3은 5입니다.
벡틱은 쉽게 여러 줄을 표현할 수 있다!
let desc = `오늘은 맑고 화창한
날씨가 계속 되겠습니다.`;
let desc2 = "오늘은 맑고 화창한\n날씨가 계속 되겠습니다.";
// 따옴표는 \n을 추가해야 하고 줄바꿈 하면 안된다.
배열과 같이 특정 위치에 접근할 수 있다.
하지만 특정 값만 바꾸는 것은 불가하다.
let desc = "안녕하세요.";
desc[2]; // "하"
desc[4] = "용";
console.log(desc); // "안녕하세요."
str.indexOf(text) : 문자열의 인덱스 값을 반환. 같은 값이 여러개면 처음 값만 반환. 찾는 값이 없으면 -1 반환
let desc = "hi guys. nice to meet you.";
desc.indexOf("to"); // 14
desc.indexOf("hello"); // -1
// if문을 쓸 때 주의 필요
if (desc.indexOf("hi")) {
// hi의 인덱스는 0. if문에서 0은 false 이다.
console.log("hi가 포함된 문장입니다.");
}
// 그러므로 조건을 이런 식으로 써야 한다.
if (desc.indexOf("hi") > -1) {
}
str.slice(n, m) : n부터 m까지 문자열 반환.
m이 없다면 문자열 끝까지 반환.
양수면 그 숫자까지(포함하지 않음. 5를 적으면 4까지 반환)
음수면 끝에서부터 센다.
let desc = "abcdefg";
desc.slice(2); // cdefg 2부터 끝까지
desc.slice(0, 5); // abcde 0부터 4까지
desc.slice(2, -2); // cde 2부터 뒤에서 2까지
str.substring(n, m) : n과 m 사이 문자열 반환. n, m을 바꿔도 동작. 음수는 0으로 인식.
let 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
❗️ 문자열도 비교가 가능하다 ! "a" < "c" // true
아스키 코드를 비교하기 때문. 코드를 구하려면?
"a".codePointAt(0); // 97
String.fromCodePoint(97); // "a"
활용!!
// 배열에서 글만 가져오고 싶다면!
let list = ["01. 들어가며", "02. JS의 역사", "03. 문자열"];
let newList = [];
for (i = 0; i < list.length; i++) {
newList.push(list[i].slice(4)); // 4부터 끝까지 반환
}
console.log(newList); // ['들어가며', 'JS의 역사', '문자열']
// 금칙어 : 콜라
function hasCola(str) {
if (str.indexOf("콜라")) {
console.log("금칙어가 있습니다.");
} else {
console.log("통과");
}
}
hasCola("사이다가 짱이야"); // 금칙어가 있습니다. -1은 true
hasCola("아니, 콜라가 최고야"); // 금칙어가 있습니다.
hasCola("콜라"); // 통과 => 0은 if에서 false이기 때문에 else로 넘어간다.
// 잘 동작하게 하려면 if(str.indexOf("콜라") > -1)
hasCola("사이다가 짱이야"); // 통과
hasCola("아니, 콜라가 최고야"); // 금칙어가 있습니다.
hasCola("콜라"); // 금칙어가 있습니다.
// 아니면 간단히 includes를 활용해도 된다.
🔗 https://youtu.be/G360D6lqrfo?si=g5AFD79pO5MLJyJ3
728x90
반응형
'JavaScript' 카테고리의 다른 글
[JS] 배열과 객체의 구조 분해 할당 (0) | 2023.12.14 |
---|---|
[JS] Array 배열 메소드 splice(), slice(), map(), filter(), join(), split() 등 (0) | 2023.12.14 |
[JS] Math 종류 Math.ceil(), Math.floor(), Math.round(), toFixed() 등 (0) | 2023.12.14 |
[JS] Number로 바꾸기 toString(), parseInt(), parseFloat(), 숫자 판별 isNaN (0) | 2023.12.14 |
[JS] 심볼 Symbol (0) | 2023.12.13 |