자바스크립트에서 문자열은 페이지 인코딩 방식과 상관없이
항상 UTF-16형식을 따름.
single ''
double ""
backticks
백틱은 template literal 이 가능!
표현식을 문자열 중간에 삽입하는 방식
escape character \
backslash character ..
length 프로퍼티엔 문자열의 길이가 저장됨.
! length는 함수가 아니고 프로퍼티임..주의
메서드 toLowerCase()와 toUpperCase()는 대문자를 소문자로,
소문자를 대문자로 케이스변경해줌..
alert('Interface'.toUpperCase()); // INTERFACE
alert('Interface'.toLowerCase()); // interface
str.indexOF 메서드
str.indexOf(substr, pos)
str.lastIndexOf(substr, position)
bitwise NOT연산자 ~ 를 사용한 기법..
str.includes(substr, pos) 메서드는
str에 부분 문자열 substr이 있는지 여부에따라 true / false 반환..
부분 문자열 추출과 관련된 메서드 substring, substr, slice
순서가 있는 컬렉션...
배열의 본질은 객체.. 따라서 객체처럼 동작함..
for문은 배열을 순회할 때 쓰는 가장 오래된 방법..
순회시에 인덱스를 사용.
let array = ['apple'. 'banana', 'cherry'];
for (let i = 0; i < array.length; i++) {
alert( array[i]);
}
for..of 를 사용하면 인덱스 얻을수 없고 값만얻을 수 있다
배열은 객체형에 속하므로 for..in 을 사용하는 것도 가능..
하지만 브라우저나 기타 호스트 환경에서 쓰이는 객체 중, 배열과 유사한 형태를 보이는 유사배열array-like객체가 있어.. 모든것을 대상으로 순회가 이루어지기때문..문제각...
for..in반목문은 배열이 아니라 객체와 함께 사용할 때 최적화 되어있어서 객체에 사용하는 것 대비 10~100배 느려... 차이를 알고 적절한 곳에 사용하자
되도록 배열엔 for..in 을 쓰지 마시오...
숫자 인수를 이용한 배열 -> undefined... 주의하자.
배열 역시 배열의 요소가 될 수 있다.. 이런 배열을 가리켜
다차원 배열multidimensional array라고함.. 행렬 저장하는 용)
배열엔 toString메서드가 구현되어 있어 호출하면 쉼표로 구분된 문자열 반환..