TIL - 220916

μ—°μ£ΌΒ·2022λ…„ 9μ›” 17일
0

KDT-TIL

λͺ©λ‘ 보기
8/36

22.09.16 κΈˆμš”μΌ

πŸ“ javascript-32 : λ°°μ—΄λ©”μ„œλ“œ

πŸ’¬ ν•œλ§ˆλ””

μ΄ν•΄ν•˜λŠ”λ° μ˜€λž˜κ±Έλ Έλ‹€.
μƒμ„±μžν•¨μˆ˜λ₯Ό μ„ μ–Έν•΄μ„œ ν•¨μˆ˜μ•ˆμ— λ‹€μ‹œ μƒμ„±μžν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•΄μ„œ μ“°λ €κ³  ν–ˆλ˜ 뢀뢄이 잘 이해가 μ•ˆκ°”λ‹€.
물어보고 μ΄ν•΄ν•œλŒ€λ‘œ 주석을 달아봀닀.

✏️ .push() : λ°°μ—΄μ˜ 끝에 ν•˜λ‚˜ μ΄μƒμ˜ μš”μ†Œλ₯Ό μΆ”κ°€ν•˜κ³ , 배열을 λ°˜ν™˜

let arr = [1,2,3];
arr.push(4,5,6);

console.log(arr);
// [1,2,3,4,5,6]

✏️ .filter() : 주어진 ν•¨μˆ˜μ™€ μΌμΉ˜ν•˜λŠ” κ°’λ§Œ 'μƒˆλ‘œμš΄ λ°°μ—΄' λ°˜ν™˜

arr = [1,2,3,4,5,6]
arr2 = arr.filter(element => element > 2);

console.log(arr2) 
// [3,4,5,6]

✏️.forEach() : for문을 λŒ€μ²΄ν•  수 μžˆλŠ” κ³ μ°¨ν•¨μˆ˜, μžμ‹€μ„ ν˜ΈμΆœν•œ 배열을 μˆœνšŒν•˜λ©΄μ„œ μš”μ†Œκ°’, 인덱슀, 베열을 순차적으둜 전달

--> for λ°˜λ³΅λ¬Έμ„ forEach()둜 λ°”κΎΈκΈ°

let arr = [1,2,3];
let arrTwo = [];
for(let i = 0; i< arr.length; i++){
  arrTwo.push(arr[i]);
}
// for 반볡문


arr.forEach(function(items){
  arrTwo.push(items);
});
// for λŒ€μ‹  forEach()

console.log(arrTwo);
// [ 1, 2, 3 ]

let arr = [1,2,3];
let arrTwo = [];
arr.forEach(function(items){
  arrTwo.push(items);
});

arr.forEach(items => arrTwo.push(items))
// forEach() ν™”μ‚΄ν‘œν•¨μˆ˜

console.log(arrTwo);
// [ 1, 2, 3 ]

πŸ“ javascript-33: λ°°μ—΄

βœοΈν‚€μ›Œλ“œ

1.map() λ°°μ—΄λ©”μ„œλ“œμ˜ 효용
2.λ©”μ„œλ“œμ²΄μΈ
3.ν™”μ‚΄ν‘œν•¨μˆ˜(arrow function)κ°€ 가지고 μžˆλŠ” 리턴 결정방식
4.μΆ•μ•½ν˜• μžλ°”μŠ€ν¬λ¦½νŠΈ μž‘μ„±

✏️ .map() : λ°°μ—΄ λ‚΄μ˜ λͺ¨λ“  μš”μ†Œ 각각에 λŒ€ν•˜μ—¬ 주어진 ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•΄ κ²°κ³Όλ₯Ό λͺ¨μ•„ μƒˆλ‘œμš΄ λ°°μ—΄λ‘œ λ°˜ν™˜

let arr = [1,2,3];
let arr2 = arr.map(item => item+1);
console.log(arr2)
// [ 2, 3, 4 ]

✏️ .forEach() vs .map()

.forEach() - 리턴값이 μ—†μ–΄μ„œ λ”°λ‘œ 리턴값을 μ£Όμ–΄μ•Όν•œλ‹€.
.map() - μƒˆλ‘œμš΄ λ°°μ—΄λ‘œ λ°˜ν™˜

let arr = [1,2,3];
let arr2 = arr.map(item => item+1);

let arr3 = [];
arr.forEach(item => arr3.push(item+1));
 
console.log(arr2) // [ 2, 3, 4 ]
console.log(arr3) // [ 2, 3, 4 ]

✏️ .join() : λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œλ₯Ό μ—°κ²°ν•΄ ν•˜λ‚˜μ˜ λ¬Έμžμ—΄λ‘œ λ§Œλ“€μ–΄μ€€λ‹€. κ΅¬λΆ„μžλ‘œ 연결을 ν•΄μ„œ λ°˜ν™˜

let arr = [1,2,3];
console.log(arr.join()); // 1,2,3
console.log(arr.join('')); // 123
console.log(arr.join('-')); // 1-2-3

πŸ“ javascript-34: λ°°μ—΄λ©”μ„œλ“œ

polifill : 기본적으둜 μ§€μ›ν•˜μ§€ μ•ŠλŠ” 이전 λΈŒλΌμš°μ €μ—μ„œ μ΅œμ‹  κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ”λ° ν•„μš”ν•œ μ½”λ“œ

μ•„λž˜ μ½”λ“œλŠ” indexOf() λ°°μ—΄λ©”μ„œλ“œμ˜ μ›ν˜•

✏️ indexOf() :

const str = "abcdefg"
console.log(str.indexOf("c")) // 2

πŸ“ javascript-35 : setTimeout() ν•¨μˆ˜

✏️ setTimeout()

setTimeout(()=>console.log('hi'),1000);
// 1초 후에 콜백 ν•¨μˆ˜ 호좜 
// 1초 후에 μ½˜μ†”μ— hiκ°€ 좜λ ₯λœλ‹€.

setTimeout(name => console.log(`hi! ${name}`),1000,'lee')
// 1μ΄ˆν›„μ— hi! + 인자(lee) κ°€ 좜λ ₯

1000ms --> 1초

✏️ setInterval()

let count = 1;
const timeoutId = setInterval(()=>{console.log(count);
  if (count++ === 5) clearInterval(timeoutId);
},1000);

// * 1초 ν›„ 타이머가 만료될 λ•Œλ§ˆλ‹€ 콜백 ν•¨μˆ˜κ°€ 호좜
// * setInterval ν•¨μˆ˜λŠ” μƒμ„±λœ 타이머λ₯Ό 식별 ν•  μˆ˜μžˆλŠ” κ³ μœ ν•œ 타이머 idλ₯Ό λ°˜ν™˜
// * countκ°€ 5이면, setInterval ν•¨μˆ˜κ°€ λ°˜ν™šλ‚˜ 타이머 idλ₯Ό clearInterval ν•¨μˆ˜μ˜ 인수둜 μ „λ‹¬ν•˜μ—¬
// * 타이머λ₯Ό μ·¨μ†Œν•œλ‹€. 타이머가 μ·¨μ†Œλ˜λ©΄ setInterval ν•¨μˆ˜μ˜ 콜백 ν•¨μˆ˜κ°€ μ‹€ν–‰λ˜μ§€ μ•ŠλŠ”λ‹€.
profile
μ„±μž₯쀑인 개발자🫰

0개의 λŒ“κΈ€