[java script]3장.문자열

김수지·2020년 9월 20일
0

lesson

목록 보기
3/4

[문자열]

문자열(String)이란, 말그대로 문자를 나열해 놓은 것이라 보면 된다. 다만 컴퓨터가 그것을 문자열이라고 판단하기 위해서 ' 나 " 를 사용하여서 문자열이라는 것을 구분한다.

let str = 'Java script'; // 문자열을 str이라는 변수에 저장하여 선언한다.
console.log(str[0]);  //'J'
console.log(str[3]);  //'a'
console.log(str[12]); //undefined

str[0]='C'; 
console.log(str); // 'Java script' 
  • 문자열은 str[index]를 통하여 문자열의 0번째 부터 시작하는 값을 가져올 수 있다. (index는 0부터 시작한다.)
  • str[12]는 12번째 index에 값이 없기때문에 undefined가 나온다.
  • str[0]= 'C'는 0번재 index에 값을 바꾼 것 처럼 보이지만 문자열에서 index를 통하여 값을 바꾸는것은 불가능하다!


let str1 = 'Java';
let str2 = 'Script';
let str3 = '1';
console.log(str1 + str2); // 'JavaScript'
console.log(str3 + 1); // '11'
  • 문자열과 문자열은 합칠 수 있다.
  • 문자열에 숫자가 들어가도 문자열로 인식한다.
  • 문자열에 다른 타입사이에 +연산자를 쓰면, 다른 타입도 String형식으로 변환, 예를들어 '1' + true를 할 경우 '1true'로 반환되듯 String타입으로 강제변환이 된다.

let str = 'Java Stript';
console.log(str.length); // 11
  • 문자열의 length라는 속성을 활용해 문자열의 길이를 확인할 수 있다.(띄어쓰기 ' '포함)

'Java Script'.indexOf('Java');         // 0
'Java Script'.indexOf('Python');       // -1
'Java Script'.indexOf('Script');       // 5
'Java Java Script'.indexOf('Java')     // 0
'Java Java Script'.lastIndexOf('Java') // 5

'Java Script'.includes('Java');   // true
'Java Script'.includes('Python'); // false
  • str.indexOf(찾고자하는 문자열) : 찾고자하는 문자열이 몇번째 인덱스부터 일치하는지 앞에서부터 시작해서 찾는다.
  • str.lastrIdexOf(찾고자하는 문자열) : 뒤에서부터 찾아 몇번쨰 인덱스부터 일치하는지 찾는다.
  • 찾고자하는 문자열이 없을경우 -1 을 반환한다.
  • str.includes(찾고자하는 문자열) : 찾고자하는 문자열이 있는지 없는지 직관적으로 리턴해준다.

let str = 'Hello, Java Script';
let arr = str.split(' ');
console.log(arr);       // ['Hello,','Java','Script']
let resultStr = arr.join(' ');
console.log(resultStr); // 'Hello, Java Script'
  • str.split(기준이 될 문자)를 사용하여 위같은 예제를 활용하면 띄어쓰기 ' '기준이 되어 분리된 문자열들을 배열로 담아 반환할 수 있다.
  • str.join(기준이 될 문자)는 위 예제를 활용하면 띄어쓰기 ' '기준이 되어 배열의 각 원소들을 문자열로 반환할 수 있다.

let str = 'Java Script';
console.log(str.substr(0,4)); // 'Java'
console.log(str.substr(5,6)); // 'Script'
  • substr(start index, length) : 찾아낼 문자열의 시작 인덱스에 그 문자열의 길이만큼 반환해준다.

자바스크립트로 문자열의 특정 부분만 골라낼 수 있는 메서드에는 [Slice(), Substring(), Substr()]3가지 방법을 주로 사용한다.
그런데 Slice(),Substring()의 경우 서로 똑같은 일을 하기때문에 헷갈리는 경우가 많다. 그리고 Slice()는 배열에서도 사용 가능하다.

let str = 'Java Script';
//substring예제
console.log(str.substring(0,4));   // 'Java'
console.log(str.substring(5,20));  // 'Script'
console.log(str.substring(4,0));   // 'Java'
console.log(str.substring(-4,4));  // 'Java' 음수가 들어가면 시작값이 0으로 할당
//Slice예제
console.log(str.slice(0,4));     // 'Java'
condole.log(str.slice(5,20));    // 'script'
console.log(str.slice(4,0));     // ''
console.log(str.slice(-11,-7);); //'Java' 음수일 경우 뒤에서부터 시작
  • 두 메서드 모두 (start,end) 찾고자하는 인덱스의 시작과 끝 구간에 있는 문자열을 반환한다.
  • start값은 위치값의 이상이고 end값은 위치값의 미만
- Substring()
1.start와 end의 위치가 바뀌어도 상관없다.
2.음수가 들어가면 자동으로 0으로 할당된다.
- slice()
1.음수는 뒤에서부터 읽는다.
2.배열에서도 사용이 가능하다.

console.log('JavaScript'.toLowerCase()); 
// 'javascript' 영문을 모두 소문자로 반환



console.log('JavaScript'.toUpperCase()); 
// 'JAVASCRIPT' 영문을 모두 대문자로 반환





profile
개발자가 되기까지

0개의 댓글