키-값 쌍(key-value pair)으로 이루어져있다. 콜론(:) 왼쪽이 키(Key), 오른쪽이 값(Value)
let classMate = { //중괄호(Curly bracket)을 이용하여 객체를 만듬
number1 : 'soohyun',
number2 : 'jihyun', //객체는 키-값 쌍(key-value pair)으로 이루어져있다.
number3 : 'ahyun', //콜론(:) 왼쪽이 키(Key), 오른쪽이 값(Value)을 가리킨다.
number4 : 'yuhyun'
};
+ 객체를 이용하는 방법 1: Dot notation
classMate.number1; // 'soohyun' //객체명.키 값을 입력
+ 객체를 이용하는 방법 2: Bracket notation
classMate['number1']; // 'soohyun' //객체명[키 값을 문자열로 입력]
+ Dot/Bracket notation을 이용해 값을 추가할 수도 있음.
classMate.number5 = 'sihyun';
classMate.number6 = true ;
classMate.number6 = ['behyun', 'yehyun'] ;
+ delete를 이용해 삭제도 가능 연산자? 키워드?
delete classMate.number2;
delete classMate['number1'];
+ in 연산자를 이용해 해당하는 키(Key)가 있는지 확인할 수 있음
'number4' in classMate; // true
'number100' in classMate; // false
str[index]
: index에 해당하는 문자를 반환
let str = '012345';
str[0] ; // 0
str[4] ; // 4
+ But, index로 접근가능하지만 쓸 수는 없음(read only)
str[0] = '2'
console.log(str); // '012345'
+
연산자 : string 타입 + 다른 타입 = string 형식으로 변환
'11' + 22 = '1122' // 문자열 + 숫자
let str = '1'
let str2 = 2345
str + str2; // '12345' // 문자열 + 숫자
str.concat(str2); // '12345' // 문자열 + 숫자
length
property : str.length
let str = '12345';
str.length; // 5
indexOf()
메소드 : str.indexOf(serchValue) IMMUTABLE
'My House'.indexOf('H') // 3 //처음으로 일치하는 index를 반환
'My House'.indexOf('c') // -1 //찾고자하는 문자열이 없으면 -1을 반환
'My House'.lastIndexOf('e') // 0 //lasetIndexOf는 문자열 뒤에서 부터 찾음
split()
메소드 : str.split(seperator) IMMUTABLE
let str = 'My House';
str.split(' '); //['My', 'House'] //입력된 문자열을 기준으로 분리된 문자열이 포함된 배열을 반환
substring()
메소드 : str.substring(start, end) IMMUTABLE
str.substring(start, end)
let str = '012345'
str.substring(0,3); // '012' // 시작과 끝 index사이의 문자열을 반환(끝은 포함x)
str.substring(-1,3); // '012' // 음수는 0으로 취급
str.substring(0,30); // '012345' // str의 index범위를 넘으면 최대값으로 취급
toLowerCase()
/ toUpperCase()
메소드 : str.toLowerCase() /str.toUpperCase() IMMUTABLE
'ABCDEFG'.toLowerCase(); //'abcdefg' //소문자로 반환
'abcdefg'.toUpperCase(); //'ABCDEFG' //대문자로 반환
모든 string 메소드는 IMMUTABLE // 원본이 변하지 않음
let str = 'abcd';
console.log(str.toUpperCase()); //'ABCD'
console.log(str); //'abcd'
Array.isArray()
메소드
Array.isArray("string"); // false //배열인지 아닌지 판별해서 Boolean값으로 반환
let arr = {name : 'soohyun'};
Array.isArray(str); // true
indexOf()
/ includes()
메소드
let alphabet = ['A', 'B', 'C'];
alphabet.indexOf('A') // 0 //입력된 값에 해당하는 인덱스를 반환
alphabet.indexOf('D') // -1 //입력된 값이 배열에 없다면 -1을 반환
alhpabet.includes('A') // true //입력된 값이 배열에 있다면 true를 반환
alhpabet.includes('D') // false //없다면 false를 반환
//includes() 메소드는 인터넷 익스플로러에서 사용불가
slice() 메소드
let arr1 = ['A', 'B', 'C'];
let arr2 = arr1.slice() // ['A', 'B', 'C'] // arr1의 배열을 복제
let arr3 = arr1.slice(2, 3) // ['C'] //입력한 index에 해당하는 부분만 잘라내기(끝 포함x)