728x90
1. 문자열 팁
- html 문자열은 ''로 감싸는게 편하다.
- '<div class="box_title">제목</div>' 처럼 내부에 ""를 쓸 일이 있어서
- 영문 문자열은 ""로 감싸는게 편하다.
- "it's 3 o'clcok" 처럼 내부에 ' 쓸 일이 있어서
2. 벡틱 `` 의 유용한 점
- 백틱은 여러 줄을 표현할 수 있다.
- 따옴표는 줄바꾸려면 역슬래시n (\n)을 써야하고 꼭 한줄로 작성해야한다. 엔터쳐서 줄바꾸면 에러
// 백틱 줄바꿈
let word = `동해물과
백두산이
마르고
닳도록`;
// 따옴표 줄바꿈
let word2 = '동해물과\n백두산이\n마르고\n닳도록'
3. length 문자열 길이 확인하는 방법
- string.length 하면 몇 글자인지 반환
- 가입할때 아이디, 비밀번호 몇 자 이상 이하 제한할때 사용
4. 문자열 index 어떤 글자있는지 확인하는 방법
- string[숫자] 하면 변수에 있는 문자열에서 해당 숫자번째에 있는 값 반환
- 배열과 동일하게 0부터 시작
- 배열과 다르게 한글자만 바꾸는건 허용되지 않음 (word2[0] = '금' 이렇게 한글자 변경해도 안먹힘)
// 문자열에서 해당 INDEX에 있는 글자 반환
let word2 = '동해물과\n백두산이\n마르고\n닳도록'
console.log(word2[0]); // 동
5. 영어 문자 대소문자 바꾸기
1) toUpperCase() : 모든 영문 대문자로 변경
2) toLowerCase() : 모든 영문 소문자로 변경
6. indexOf('text') : 특정 문자 위치 찾기
- string.indexOf(찾을 문자, position)
- 특정 문자가 있는 index 상 첫번째 위치를 찾아줌. (position 넣으면 그 순서부터 찾음)
// indexOf() 단어 위치 찾기
let word1 = "Hey it's you";
console.log(word1.indexOf("it's")); // 4
- if문의 조건으로 넣을 경우, 첫번째 단어는 index 상 0 이다 if문에서 0은 false를 뜻함 그래서 아무것도 반환하지 않음 그래서 조건에 > -1 를 넣어줌
// 응용
if(word1.indexOf('Hey') > -1){
console.log("Hey을 포함한 문자입니다")
}
7. slice(n, m) : n 부터 m 까지 문자열을 반환함 (index 순서 넣어줌)
- str.slice(n, m)
- 인덱스는 항상 0 부터 시작인걸 기억하자.
- m 인수를 넣지 않으면 시작점에서 문자열 끝까지 반환
- m이 양수면 그 순서까지 전까지 반환 (해당 순서는 포함하지 않음)
- m이 음수면 마지막부터 index 셈 (마지막부터 센 값이 마지막)
// slice(n,m)
let word1 = "abcdefg";
console.log(word1.slice(2,5)); // cde
console.log(word1.slice(3)); // defg
console.log(word1.slice(2,-2)); // cde
8. substring(n, m) : n부터 m 까지 문자열 반환
- str.substring(n, m)
- slice(n, m)와 비슷하지만 n과 m 을 바꿔도 동작함. == 그냥 n번째와 m 번째 사이 문자열 반환
- m 값 즉 마지막 값은 포함 안함. (슬라이스와 동일)
- 음수는 0으로 인식
9. substr(n, m) : n부터 m '개' 문자열 반환 (갯수만큼 문자 가져옴)
- str.substr(n, m)
- 음수 안됨
// slice, substring, substr
let word1 = "abcdefg";
console.log(word1.slice(2,5)); // cde
console.log(word1.substring(5,2)); // cde
console.log(word1.substr(2, 3)); // cde
10. trim() : 앞 뒤 공백 제거
- str.trim()
- 사용자로부터 입력받을 때 사용 e.g) " 닉네임 " 이런 식으로 입력받았을 때 사용
11. repeat(n) : 문자열을 n 번 반복
- str.repeat(n)
12. 문자열 비교
- 소문자가 대문자보다 크다~ 정도만 알고 있으면 됨
- 아스키 코드에 따름
- "a" < "c" 알파벳 순서대로 크며
- "A" < "a" 대문자보다 소문자가 더 크다.
- 아스키코드 얻으려면
- "얻고싶은 알파벳".codePointAt(0); 하면 번호 줌.
13. includes() : 특정문자를 포함하는지 확인 (true/false를 반환) ★
- str.includes("찾고싶은문자", 시작점)
- 시작점은 안넣으면 전체를 조회
📌 예제1 : for 문이용하여 책의 목차에서 제목만 가져오기
// for 문 이용하여 책의 목차 제목만 가져오기
let list = [
"01. 1장",
"02. 2장",
"03. 3장",
"04. 4장",
"05. 5장",
];
let newList = []; // 빈 배열 하나 만들어줌 (여기다 가져올거임)
for(let i = 0; i<list.length; i++){
newList.push( //배열의 가장 끝에 추가 1장 추가하고 끝에 2장 추가하고 ... 거꾸로면 unshift
list[i].slice(4) // 인덱스상 4번째부터 제목임 (띄어쓰기도 포함됨)
)
}
console.log(newList); // [ '1장', '2장', '3장', '4장', '5장' ]
------------------------------------------------------
// 또는 그냥 콘솔로그로 찍어낼수도
for(let i = 0; i<list.length; i++){
console.log(list[i].slice(4))
}
1장
2장
3장
4장
5장
📌 예제2 : 금지어 지정하기
// 금지어 지정하기 *금기어: 콜라
// indexOf() 활용
function searchCola(str){
if(str.indexOf('콜라') > -1){
console.log("금지어 '콜라'가 있습니다.")
}else{
console.log("금지어가 없습니다.")
}
}
searchCola("와 사이다가 너무 시원하다"); // 금지어가 없습니다.
searchCola("와 콜라가 너무 시원하다"); // 금지어 '콜라'가 있습니다.
// includes() 활용
function searchSoda(str){
if(str.includes("사이다")){
console.log("금지어 '사이다'가 있습니다")
} else {
console.log("금지어가 없습니다")
}
}
searchSoda("와 사이다가 너무 시원하다"); // 금지어 '사이다'가 있습니다
searchSoda("와 콜라가 너무 시원하다"); // 금지어가 없습니다
728x90
'html,css,js' 카테고리의 다른 글
[자바스크립트 중급] array method 배열 메소드2 (sort, reduce) (0) | 2023.05.08 |
---|---|
[자바스크립트 중급] Array method 배열 메소드1 (2) | 2023.05.08 |
[자바스크립트 중급] 숫자, 수학 Method (Number, Math) (0) | 2023.05.05 |
[자바스크립트 중급] 심볼(Symbol) (0) | 2023.05.04 |
[자바스크립트 중급] 객체 메서드(object method), 계산된 프로퍼티(computed property) (0) | 2023.05.04 |