자바스크립트에서는 <script type='module'></script> 를 이용하여 다른 모듈에서 필요한 것들을 import, export 할 수 있다.
하지만 리액트에서는 위의 스크립트 코드를 추가할 필요가 없다.
리액트가 사용하는 빌드 프로세스 과정에서 HTML코드에 자동으로 script 코드를 추가하기 때문이다.
화살표 함수에 반환문 외에 다른 로직이 없는 경우, return 키워드와 { }를 생략할 수 있다.
❌ 리턴 키워드 포함
number => {
return number * 3; // 리턴 키워드 생략되어야 하므로 오류
}
⭕️ 리턴 키워드 생략
number => number * 3
Array.prototype.forEach(callback)callback(elem, index) - 각 배열 요소에 대해 실행할 콜백 함수💡 배열의 각 요소에 대해 콜백 함수를 실행하지만, 새로운 배열을 생성하지 않고 기존 배열을 순회한다.
array.forEach((item) => {
if (item % 2) result += item;
});
Array.prototype.map(callback)callback(elem, index) - 각 배열 요소에 대해 실행할 콜백 함수각 배열 요소에 대해 콜백 함수가 반환한 값을 기반으로 새로운 배열을 반환한다.
var newArray = array.map((number) => {
if (number % 2) {
return number;
} else return 0;
});
newArray.forEach((number) => (result += number));
Array.prototype.find(callback)callback(elem) - 각 배열 요소에 대해 실행할 콜백 함수첫 번째 요소, 없으면 undefined조건을 만족하는 첫 번째 요소를 반환하며, 이후 요소는 검사하지 않는다.
❗️ if 문 필요 없고 그냥 조건 만족하는 첫번째 요소를 반환한다.
따라서 조건문을 쓸 때 대괄호 빼야한다.
result = array.find((number) => number % 2 === 0 && number % 3 === 0); // 바로 조건 쓰기 --> 만족하는 요소 반환
Array.prototype.filter(callback)callback(elem) - 각 배열 요소에 대해 실행할 콜백 함수조건을 만족하는 모든 요소를 배열로 반환한다. 조건을 만족하지 않으면 빈 배열을 반환한다.
array.filter((num) => num % 2 === 1).forEach((num) => (result += num));
Array.prototype.findIndex(callback)callback(elem, index, array):elem: 현재 요소index: 현재 요소의 인덱스 (선택적)array: 원본 배열 (선택적)인덱스-1 반환비교:
findvsfindIndex
| 메서드 | 반환값 |
|---|---|
| find | 요소 |
| findIndex | 인덱스 |
findIndex는 요소의 위치가 필요할 때 사용하며, 조건을 만족하지 않으면 항상 -1을 반환하므로 이를 활용해 존재 여부를 확인할 수 있다.
Array.prototype.reduce(callback[, initialValue])callback(acc, currentValue, index, array):acc (누적값): 이전 콜백 실행 결과currentValue (현재 요소): 현재 요소 값index (현재 인덱스): 선택적array (원본 배열): 선택적initialValue (초기값): 선택적배열의 각 요소를 순회하며 누적값(acc)을 업데이트한다.
initialValue가 없으면 배열의 첫 번째 요소를 초기값으로 사용한다.
var result = array.reduce((sum, num) => {
if (num % 2 !== 0) {
return sum + num; // 홀수면 sum에 num을 누적해서 반환
} else {
return sum; // 짝수일때는 이전 sum을 그대로 반환
}
}, 0); // 2. 0이 sum으로 감 = initialValue 존재하면 누적값의 초기값
| 메서드 | 반환값 | 특징 |
|---|---|---|
| forEach | ⭐️ 없음 ⭐️ | 배열 요소 순회 및 콜백 실행만 수행 |
| map | ⭐️ 배열 ⭐️ | 각 요소를 변환하여 새로운 배열 반환 |
| find | ⭐️ 요소 ⭐️ | 조건 만족하는 첫 번째 요소 반환 |
| filter | ⭐️ 배열 ⭐️ | 조건 만족하는 모든 요소 배열로 반환 |
| reduce | ⭐️ 누적값 ⭐️ | 배열의 모든 요소를 누적하여 하나의 값 반환 |