오늘은 거의 하루종일 Pair Programming을 진행했다.
말을 많이하다보니 목이 너무 아프다.....
자바스크립트의 문자열(string)은 인덱스가 사용가능한 유사배열이다.
0부터 시작하는 인덱스를 이용해 특정 문자에 접근할 수 있다.
하지만 read-only로 인덱스로 접근해 수정이 불가능하다.(변수 자체를 재할당하는 것은 가능하다.)
let str = 'abcdefg'
str[0] // -> 'a'
str[0]=z //첫번째문자를 'z'로 수정시도
str // -> 'abcdefg' 바뀌지 않는다.
str = 'zbcdefg' //str변수 자체를 재할당
str // -> 'zbcdefg' 수정에 성공한 모습
문자열은 +연산자만 사용이 가능하다.
+연산자는 문자열을 이어붙이는 연산을 수행한다.
만약 문자열과 다른 타입의 값을 더한다면 다른 타입의 값이 문자열로 변환되어 이어붙인다.
'abc'+'def' // -> 'abcdef'
'abc'+2 // -> 'abc2'
'abc'+true // -> 'abctrue'
문자열에 관련된 함수들과 프로퍼티 length에 대해 배웠다.
함수는 어제 배웠던 특정 작업을 수행하기 위한 문장들의 집합이다.
자바스크립트에서 프로퍼티는 객체의 특성을 담고있는 값이다.
str.length
문자열의 길이를 표현하는 프로퍼티이다.
함수가 아니므로 호출할 때 괄호를 사용하지 않는다.
let str='abcd'
str.length // -> str의 길이인 4를 반환한다.
str.length() // -> Error
str.indexOf(searchValue)
문자열에서 찾는 값(searchValue)과 처음으로 등장하는 index를 반환한다.
만약 찾는 값이 없다면 -1을 반환한다.
let str1='abc'
str.indexOf('b') // -> 'b'가 처음으로 등장하는 위치인 1을 반환한다.
str.indexof('d') // -> str에 'd'는 등장하지 않으므로 -1을 반환한다.
let str2='abcabc'
str2.indexOf('c') // -> 'c'는 str2의 2번째,5번째에 위치하지만 처음으로 등장하는 위치는 2이므로 2를 반환한다.
//마지막 위치를 반환하는 str.lastIndexof(searchValue)함수도 있다.
str2.lastIndexOf('c') // -> 5
str.substring(start,end)
문자열에서 위치(index)가 start≤index<end인 문자열을 반환한다.
let str='abcdefg'
str.substring(1,4) // -> 'bcd'
str.toLowerCase(),str.toUpperCase()
문자열의 영어를 대문자로(소문자로) 바꾼 값을 반환한다.
let str='AbCd'
str.toUpperCase() // -> 'ABCD'
str.toLowerCase() // -> 'abcd'
str.split(separator)
문자열을 구분자(separator)를 기준으로 쪼개서(split) 그 값들을 배열로 반환한다.
let str='I love coding!'
str.split(' ') // 공백(띄어쓰기)으로 쪼갠다. ['I','love','coding!']을 반환한다.
str.split('o') // 'o'를 기준으로 쪼갠다. ['I l','ve c','ding!']을 반환