-
[코드스테이츠 TIL] 문자열 String method , DebugStudy/JavaScript 2019. 10. 31. 22:42반응형
[ 문자열 String ]
문자열은 index로 접근은 가능하지만 쓸 수는 없다 (read only)
let str = 'codestates' str[0] = 'g' //str === 'codestates'
이렇게 했을 경우 변수 str은 godestates가 아니라 codestates 그대로 있다
숫자와 문자열에 '+ 연산자'를 사용할 경우 결과는 문자열로 변환된다
console.log(123 + '456') //'123456'
str.indexOf('searchValue') : 찾고자 하는 문자열과 처음으로 일치하는 index를 리턴한다.
일치하는 문자열이 없으면 -1을 반환한다.'Blue Whale'.indexOf('Blue'); // returns 0 'Blue Whale'.indexOf('Blute'); // returns -1 'Blue Whale'.indexOf('Whale', 0); // returns 5
str.split(seperator) : 분리 기준이될 seperator를 문자열로 넣으면 분리된 문자열이 포함된 배열을 리턴한다.
문자열을 복사할 때도 사용한다.
var str = 'The quick brown fox jumps over the lazy dog.'; var words = str.split(' '); console.log(words[3]); // expected output: "fox" var chars = str.split(''); console.log(chars[8]); // expected output: "k" var strCopy = str.split(); console.log(strCopy); // expected output: Array ["The quick brown fox jumps over the lazy dog."] // 위와 같이 문자열을 카피하여 변수를 생성할 때도 사용한다
str.substring(startindex,endindex) : string 객체의 시작 인덱스로 부터 종료 인덱스 전 까지 문자열의 부분 문자열을 반환한다
str.slice(startindex,endindex) : substring 메소드와 비슷하지만 차이가 있다
substring 과 slice의 차이 1. substring 은 시작과 끝 인덱스의 순서가 바뀌어도 상관없다
var text = 'Mozilla'; console.log(text.substring(5, 2)); // => "zil" console.log(text.slice(5, 2)); // => ""
substring 과 slice의 차이 2. substring은 음수와 NaN을 0으로 취급한다
var text = 'Mozilla'; console.log(text.substring(-5, 2)); // => "Mo" console.log(text.substring(-5, -2)); // => ""
substring 과 slice의 차이 3. slice는 NaN은 0으로 취급하지만 음수는 문자열 끝에서 시작해서 인덱스를 찾는다
"negative values it counts backwards from the end of the string to find the indexes."
var text = 'Mozilla'; console.log(text.slice(-5, 2)); // => "" console.log(text.slice(-5, -2)); // => "zil" //a부터 시작해서뒤로 다섯 번째 인덱스가 z이고 두 번째 인덱스가 l이다
모든 string의 method는 원본을 건드리지 않는다. 즉, 원본이 변하지않는다 (immutable의 속성)
반면, array의 method는 immutable인 것도 있고 mutable인 것도 있다.
string 원본을 바꿔주고 싶으면 원본 변수에 다시 대입하는 방법 밖에 없다.
trim() : 문자열 양 끝의 공백을 제거한 문자열을 반환한다.
공백이란 모든 공백문자(space, tab, NBSP 등)와 모든 개행문자(LF, CR 등)를 의미한다.
trim()은 원본 문자열에는 영향을 주지 않는다.
var greeting = ' Hello world! '; console.log(greeting); // expected output: " Hello world! "; console.log(greeting.trim()); // expected output: "Hello world!";
[Debug]
문법 에러는 콘솔에서 확인할 수 있다.
로직 에러가 발생한 경우
- 문제가 발생했을 것이라고 생각되는 하나의 부분을 선정하고
- 가설이 맞는지 검증 (에러가 난 부분에 console.log 활용)
테스트 주도 개발 방법론
1.경우의 수 정리
2.경우의 수에 대해 기대값과 실제값 하나씩 비교 (유닛테스트)
it ( ) {expect( ).to.be.equal( );});
이와 같은 테스트 진행
반응형'Study > JavaScript' 카테고리의 다른 글
[코드스테이츠 TIL] Complexity 복잡도 (0) 2019.11.04 [코드스테이츠 TIL] Number, Math method (0) 2019.11.04 [코드스테이츠 TIL] 배열 Array method (0) 2019.11.02 [코드스테이츠 TIL] 자바스크립트 배열, 반복문, 객체와 method (0) 2019.10.10 [코드스테이츠 TIL] 자바스크립트 변수, 조건문, 함수 개념 (0) 2019.10.09