문자열 메소드 -> 외우는 게 아니라 이런 게 있다! 정도로만 알고 있기
변수.toUpperCase() - 대문자로 출력
변수.toLowerCase() - 소문자로 출력
변수.trim() - 문자열의 앞, 뒤 공백 제거
변수.trimStart - 문자열 앞 공백 제거
변수.trimEnd - 문자열 뒤 공백 제거
변수.repeat(숫자) : 문자열 숫자만큼 반복 출력
변수.padStart(문자열 길이, '추가할 문자열') - 문자 앞 쪽에 지정한 문자열 숫자만큼 들어감
변수.padEnd(문자열 길이, '추가할 문자열') - 문자 뒤 쪽에 지정한 문자열 숫자만큼 들어감
변수.indexOf('검색할 키워드') - 검색한 인덱스가 몇번쨰에 있는 지 알려줌, 만약 없다면 -1 출력
변수.includes('검색할 키워드') - 키워드가 문자열에 존재하면 True, 없다면 False 값 출력
변수.startWith('검색할 키워드') - 문자열이 키워드로 시작한다면 True, 아니면 False
변수.endWith('검색할 키워드') - 문자열이 키워드로 끝난다면 True, 아니면 False
변수.replace('원본 문자열에서 교체할 키워드' , '새로운 문자열') - 원본 문자열에 있는 첫번째 키워드가 새로운 문자열로 교체된다. 교체할 키워드가 여러개 있어도 첫번째 키워드만 교체된다.
변수.replaceAll('원본 문자열에서 교체할 키워드' , '새로운 문자열') - 원본 문자열에 있는 키워드가 새로운 문자열로 교체된다. 일치하는 모든 문자열을 교체 시킨다.
변수.substring('시작 인덱스', '종료 인덱스') - 시작 인덱스부터 (종료인덱스-1)까지의 문자열 출력
변수.split('구분자') - 구분자를 기준으로 잘라서 배열로 출력 ex) 월,화,수 -> split(',') - > ['월', '화', '수']
변수.slice('시작 인덱스', '종료 인덱스(선택)') - 시작 인덱스부텨 종료인덱스(없으면 끝까지) 출력, 음수로 표기 가능 = 역방향으로 출력가능
배열 메소드
변수.push(추가요소, 추가요소) - 원본 배열에 추가요소 추가
변수.pop() - 배열의 마지막 값 출력하고 그 값 배열에서 삭제
변수.unshift(추가요소. 추가요소) - 원본 배열 앞부분에 요소 추가
변수.shitf() - pop을 거꾸로 돌린 것, 0번 인덱스를 출력하고 삭제
변수.forEach(함수이름) - 배열 + 함수; 배열의 값을 함수에 하나씩 대입; 꼭 함수가 있어야 됨; 화살표 함수 or 인자로 함수를 넣어도 됨; 원본 배열의 값 변경x, 출력x
변수.map() - forEach와 매우 흡사 but 새로운 배열 출력하는 것이 다름
변수.includes('검색할 값) - 배열에 검색한 값이 있으면 True, 없으면 False
변수.find('조건(판별함수)') - 판별함수가 만족하는 값 중 첫번째 값 출력 ex) 판별함수 = 3보다 큰 값 -> 3보다 큰 요소 중 첫번째 값만 출력
변수.index('조건(판별함수)') - 판별함수가 만족하는 값 중 첫번째 인덱스만 출력 ex) 판별함수 = 3보다 큰 값 -> 3보다 큰 요소 중 첫번째 인덱스만 출력
변수.fill(채울 값) - 배열을 모두 채울 값으로 교체
변수.fill(채울 값, 인덱스) - 인덱스부터 끝까지 채울 값으로 교체
변수.slice(시작인덱스, 종료인덱스) - 시작인덱스부터 (종료인덱스-1) 까지 새로운 배열로 변경
변수.splice(시작인덱스) - 시작 인덱스 위치부터 배열의 끝까지 모든 요소 제거
변수.splice(시작인덱스, 제거할 요소의 개수) - 시작 인덱스 위치부터 제거할 요소의 개수만 제거
변수.splice(시작인덱스, 제거할 요소의 개수, 추가할 요소) - 시작 인덱스 위치부터 제거할 요소의 개수만 제거하고 추가할 요소로 변경
변수.join() - 배열의 모든 요소들을 쉼표(,)로 구분하여 하나의 문자열로 출력
변수.concat(다른 배열) - 기존 배열 + 다른 배열 = 새로운 배열 생성
변수.filter(조건문) - forEach, map과 거의 동일하게 작동; 조건에 만족하는 값만 출력
변수.reduce(reducer) - 음~~ 얜 좀 복잡하당,,
reduce() 메소드는 배열의 요소들을 이용해 하나의 결과값을 도출하는 데 사용한. 이 메소드는 배열의 요소를 차례대로 순회하면서, 각 요소에 대해 주어진 리듀서 함수를 실행한다. 리듀서 함수는 누적값과 현재 요소의 값을 인수로 받아 처리하고, 다음 누적값으로 반환한다
reduce() 매소드의 기본 구문은,,,이렇대요
그니까 음 누적값을 더해주는 함수!?!
array.reduce(callback(accumulator, currentValue, currentIndex, array), initialValue);
- callback: 배열의 각 요소에 대해 호출되는 리듀서 함수. 이 리듀서 함수는 네 개의 인수를 가짐. 콜백 홍보부 ㅍㅇㅌ!
- accumulator: 누적값으로, 이전 호출에서 반환된 값이다. 초기값이 주어지면 첫 번째 호출 시 초기값이 됨.
- currentValue: 처리 중인 현재 요소의 값
- currentIndex: (옵션) 처리 중인 현재 요소의 인덱스
- array: (옵션) reduce()가 호출된 배열
- initialValue: (옵션) 리듀서 함수의 첫 번째 호출에서 accumulator의 초기값
구조분해할당
배열 or 객체의 구조를 분해, 분해된 값을 변수에 넣는 것
배열 구조 분해
const arr = [1, 2, 3, 4, 5]
const one = arr[0]
const one = arr[1]
const one = arr[2]
이렇게 복잡한 과정을 한 번에 해결한다!
const arr = [1, 2, 3, 4, 5]
const [one, two, three] = arr
우변의 배열을 구조분해해서 one, two, three에 값이 들어간다아
객체 구조 분해
const obj = { x=10, y:20,};
const {x, y} = obj
우변에 구조를 분해할 객체를 지정
변수명 지정도 가능하다~
함수와 구조분해할당
const obj =
{x:10, :20,};
function sum(x, y)
{return x + y;}