Self-study/Javascript

[JavaScript] 문자열심화

Munyoung 2023. 8. 30. 17:05

length property

let myString = 'Hi Moon'; 

console.log(myString.length); 
//결과값: (공백포함) 7

요소접근

let myString = 'Hi Moon'; 

console.log(myString[3]); // 대괄호 표기법 
console.log(myString.charAt(3)); // charAt메서드


// 결과값: M

요소탐색

let myString = 'Hi Moon'; 

console.log(myString.indexOf('i')); // 앞부터
console.log(myString.lastIndexOf('i')); // 뒤부터 
console.log(myString.indexOf('c')); // 없는 문자열 

//결과값: 1, 5, -1

대문자/소문자 변환 

let myString = 'Hi Moon'; 

console.log(myString.toUpperCase());  // 대문자로 
console.log(myString.toLowerCase());  // 소문자로

양 끝 공백제거

let myString = '   Hi Moon   '; 

console.log(myString.trim()); 

//결과값: Hi Moon

부분 문자열 접근 slice(start, end) : 끝 인덱스 바로 직전까지의 문자열을 가져옴. 두번째 파라미터 생략하면 끝까지. 아예 생략하면 문자열 전체 가져옴 

let myString = 'Hi Moon';

console.log(myString.slice(0,2)); 
console.log(myString.slice(3)); 
console.log(myString.slice());

//결과값: Hi, Moon, Hi Moon

for...of

let myString = 'Codeit';

for (let str of myString) {
  console.log(str);
}

//결과값:
C
o
d
e
i
t

배열과 다른점

1. typeOf

let myString = 'Codeit';
let myArray = ['C', 'o', 'd', 'e', 'i', 't'];

console.log(typeof myString);
console.log(typeof myArray);

// typeOf연산자로 자료형을 비교해 보면, myString은 string으로 myArray는 object로 나옴

let myString = 'Codeit';
let myArray = ['C', 'o', 'd', 'e', 'i', 't'];

console.log(myString === myArray);
console.log(myString == myArray);

// 두 값도 모두 false로 다름

2. mutable(바뀔 수 있는)/immutable(바뀔 수 없는)

문자열은 한 번 할당된 값을 수정할 수 없다. 변수에 할당된 문자열을 바꾸고 싶다면 일부를 바꾸는게 아니라 아예 새로운 문자열을 지정해줘야 한다. 

// 배열은 mutable
let myArray = ['C', 'o', 'd', 'e', 'i', 't'];
myArray[0] = 'B';
console.log(myArray);

// 문자열은 immutable
let myString = 'Codeit';
myString[0] = 'B';
console.log(myString);

//결과값: (6) ["B", "o", "d", "e", "i", "t"], Codeit

'Self-study > Javascript' 카테고리의 다른 글

[JavaScript] 기본형과 참조형  (0) 2023.08.31
[JavaScript] 숫자표기법  (2) 2023.08.29
[JavaScript] 배열(Array)  (2) 2023.08.26
[JavaScript] 객체와 프로퍼티  (0) 2023.08.26
[JavaScript] 제어문  (0) 2023.08.25