-
문자열javascript 2020. 10. 28. 21:49
문자열
- str[index]
var str = 'CodeStates'; console.log(str[0]); //'C' console.log(str[4]); //'S' console.log(str[10]); //'undefined
- ** Note : index로 접근은 가능하지만 쓸 수는 없음(read-only) **
str[0] = 'G'; console.log(str); //'CodeStates'로 출력됨. 'GodeStates'로 출력되지 않는다. //즉, index로 접근은 가능하지만 쓸 수는 없다.(값을 바꿀 수 없다)(read-only) //하지만 그렇다고해서 에러를 발생시키는 것도 아니니 주의가 필요하다.
- 문자열은 항상 read-only이다. 새로 할당하지 않는 한 계속 그 값이 바뀌지 않는다.
str.indexof(searchValue)
- arguments : 찾고자 하는 문자열
- return value : 처음으로 일치하는 index, 찾고자 하는 문자열이 없으면 -1
- lastIndexOf는 문자열 뒤에서 부터 찾음
'Blue Whale'.indexOf('Blue'); // 0 'Blue Whale'.indexOf('blue'); // -1 'Blue Whale'.indexOf('Whale'); // 5 'Blue Whale Whale'.indexOf('Whale'); //5 'canal'.lastIndexOf('a'); //3
str.split(seperator)
- arguments : 분리 기준이 될 문자열
- return value : 분리된 문자열이 포함된 배열
var str = 'Hello from the other side'; console.log(str.split(' ')); //['Hello', 'from', 'the', 'other', 'side']
str.substring(start, end)
- arguments : 시작 index, 끝 index
- return value : 시작과 끝 index 사이의 문자열
var str = 'abcdefghij'; console.log(str.substring(0,3)); //'abc' //0,1,2 번째의 문자를 가지고 온다. 즉a,b,c console.log(str.substring(3,0)); //'abc' //숫자가 바껴도 사실 상관없다. 이 사이의 문자열을 가져오는 것. console.log(str.substring(1,4)); //'bc' //1,2,3 번째의 문자를 가지고 온다. 즉 b,c,d console.log(str.substring(-1,4)); //'abcd', 음수는 0으로 취급. 즉 0,1,2,3번째 숫자를 가져온다. 따라서 abcd console.log(str.substring(0,20)); //'abcdefghij', index범위 밖으로 나가면 끝의 문자열 까지만
✓ substring(), substr(), slice()
substr()
string.substr(str, length)
substr() 함수는 파라미터로 입력받은 start index부터 length길이만큼 string을 잘라내어 반환하는 함수.
var str = 'abcdefghij'; str.substr(1,2); //'bc' str.substr(-3,2); //'hi' str.substr(1); //'bcdefghij' //아규먼트에 start만 넣어주면 start부터 시작해서 문자열 끝까지 str.substr(20); //''(빈 문자열) str.substr(20, 2); //''(빈 문자열) //start의 길이가 문자열을 초과하면 빈 문자열이 나온다. str.substr(-15); //'abcdefghij' str.substr(-20, 2); //'ab' //start의 -가 문자열 길이를 초과하면 0번째 자리부터 시작한다.
- slice()
substring() 함수와 마찬가지로 파라미터로 자를 문자열의 start index와 end index를 전달
var str1 = 'The morning is upon us.'; //str1.length = 23 str1.slice(1,8) // 'he morn' str1.slice(4, -2) // 'morning is upon u' str1.slice(12) // 'is upon us.' str1.slice(30) // ''(빈 문자열) str1.slice(-30) // 'The morning is upon us.'
참조 : [Javascript] substr(), substring(), slice() 비교 👈여기 꼭 참조해보기. substring과 slice의 차이점도 나와있다.
str.toLowerCase()/str.toUpperCase()
- arguments : 없음
- return value : 대, 소문자로 변환된 문자열
console.log('AlPHaBET'.toLowerCase()); //'alphabet' console.log('alPHAbet'.toUpperCase()); //'ALPHABET'
- 모든 String method는 immutable
- 즉, 원본이 변하지 않음
- array method는 immutable 및 mutable 여부를 잘 기억해야 함.
※추가로 볼 것
'javascript' 카테고리의 다른 글
SpreadSyntax(전개문법), RestParameter (0) 2020.11.10 자바스크립트 참조타입데이터(reference type data) (0) 2020.11.06 Function Statements(Declarations) and Expressions (0) 2020.10.10 forEach에 대해서 참조한 블로그 + 여러가지 배열 메소드 (0) 2020.06.06 call, apply, bind (0) 2020.05.28