JavaScript Basic 6 - ν•¨μˆ˜ 볡슡

λ°•μ„±μž¬Β·2021λ…„ 11μ›” 23일
1

JavaScript

λͺ©λ‘ 보기
1/1
post-thumbnail

πŸ“Œ ν•¨μˆ˜λ³΅μŠ΅

κΈ°λͺ…ν•¨μˆ˜ ν•¨μˆ˜μ„ μ–Έ 방식과 읡λͺ…ν•¨μˆ˜ ν•¨μˆ˜ν‘œν˜„ 방식이 μžˆλ‹€.

function sum(x, y) {
  // console.log(x + y);
  return x + y;
  // return ν‚€μ›Œλ“œκ°€ μžˆλŠ” μ‹œμ μ€ μ½”λ“œκ°€ μ’…λ£Œλ˜λŠ” μ‹œμ μ΄λ‹€.
  // κ·Έλ ‡κΈ° λ•Œλ¬Έμ— return ν‚€μ›Œλ“œ μ•„λž˜μ˜ μ½”λ“œλŠ” μ‹€ν–‰λ˜μ§€ μ•ŠλŠ”λ‹€.
}

const a = sum(1, 3);
const b = sum(4, 12);

console.log(sum(5, 9));
console.log(b);
console.log(a + b);

βœ… ν™”μ‚΄ν‘œ ν•¨μˆ˜

// () => {} vs function () {}

const double = function (x) {
  return x * 2;
};

console.log('double :', double(7));

const doubleArrow = (x) => {
  return x * 2;
};
// μΆ•μ•½ν˜•
// const doubleArrow = (x) => x * 2
// const doubleArrow = x => x * 2
// const doubleArrow = x => { return x * 2 }
// μΆ•μ•½ν˜•μœΌλ‘œ 객체데이터λ₯Ό λ°˜ν™˜ν•  λ•ŒλŠ” λ°˜λ“œμ‹œ μ†Œκ΄„ν˜Έ()둜 κ°μ‹Έμ£Όμ–΄μ•Όν•œλ‹€.

console.log('doubleArrow :', doubleArrow(7));

βœ… μ¦‰μ‹œμ‹€ν–‰ ν•¨μˆ˜

// μ¦‰μ‹œμ‹€ν–‰ν•¨μˆ˜
// IIFE, Immediately-Invoked Function Expression
const c = 7;

function double2() {
  console.log(c * 2);
}
double2();

// μ¦‰μ‹œμ‹€ν–‰ν•¨μˆ˜
(function () {
  console.log(c * 2);
})();

// (function () {
//   console.log(c * 2);
// }());

// 같은 μ˜λ―Έμ΄λ‹€.

βœ… ν˜Έμ΄μŠ€νŒ… Hoisting

// ν˜Έμ΄μŠ€νŒ…(Hoisting)
// ν•¨μˆ˜ μ„ μ–ΈλΆ€κ°€ μœ νš¨λ²”μœ„ μ΅œμƒλ‹¨μœΌλ‘œ λŒμ–΄μ˜¬λ €μ§€λŠ” ν˜„μƒ

const d = 7;

double3();

// Error
// const double3 = function () {
//   console.log(d * 2);
// };

// Hoisting
function double3() {
  console.log(d * 2);
}

βœ… 타이머 ν•¨μˆ˜

  • setTimeout(ν•¨μˆ˜, μ‹œκ°„) : 일정 μ‹œκ°„ ν›„ ν•¨μˆ˜ μ‹€ν–‰
  • setInterval(ν•¨μˆ˜ , μ‹œκ°„) : μ‹œκ°„ κ°„κ²©λ§ˆλ‹€ ν•¨μˆ˜ μ‹€ν–‰
  • clearTimeout() : μ„€μ •λœ Timeout ν•¨μˆ˜λ₯Ό μ’…λ£Œ
  • clearInterval() : μ„€μ •λœ Interval ν•¨μˆ˜λ₯Ό μ’…λ£Œ
// 타이머 ν•¨μˆ˜
// setTimeout(ν•¨μˆ˜, μ‹œκ°„) : 일정 μ‹œκ°„ ν›„ ν•¨μˆ˜ μ‹€ν–‰
// setInterval(ν•¨μˆ˜ , μ‹œκ°„) : μ‹œκ°„ κ°„κ²©λ§ˆλ‹€ ν•¨μˆ˜ μ‹€ν–‰
// clearTimeout() : μ„€μ •λœ Timeout ν•¨μˆ˜λ₯Ό μ’…λ£Œ
// clearInterval() : μ„€μ •λœ Interval ν•¨μˆ˜λ₯Ό μ’…λ£Œ

const timer = setTimeout(function () {
  console.log('Hi~ SIN7AE!!');
}, 3000);

const h1El = document.querySelector('h1');
h1El.addEventListener('click', () => {
  clearTimeout(timer);
});

const timer2 = setInterval(function () {
  console.log('Hi~ SIN7AE!!');
}, 3000);

const h1El2 = document.querySelector('h1');
h1El2.addEventListener('click', () => {
  clearInterval(timer2);
});
profile
μ£Όλ‹ˆμ–΄κ°œλ°œμž 'SON7AE' μž…λ‹ˆλ‹€. μ œκ°€ 배운 λͺ¨λ“  것을 λ‚˜λˆ„κ³  μ‹Άμ–΄μš”. 😊

0개의 λŒ“κΈ€