JavaScript Refresher

udemy React μ™„λ²½ κ°€μ΄λ“œ

JavaScript Refresher

μ›Ήμ‚¬μ΄νŠΈμ— JavaScript μΆ”κ°€ν•˜κΈ°

  1. <script> tags

  2. <script src=''> import/export

    1. type = "module" 둜 μ„€μ •λ˜μ–΄ μžˆμ–΄μ•Ό 함

    2. μ½”λ“œλ₯Ό μͺΌκ°œμ„œ κ΄€λ¦¬ν•˜κΈ° μœ„ν•¨

React의 λΉŒλ“œ ν”„λ‘œμ„ΈμŠ€(κ°€ ν•„μš”ν•œ 이유)

  • ReactλŠ” JSX 문법을 μ‚¬μš©ν•˜λŠ”λ° μ΄λŠ” λΈŒλΌμš°μ €μ—μ„œ 싀행이 λΆˆκ°€λŠ₯함

  • λ”°λΌμ„œ λΈŒλΌμš°μ €μ— μ „λ‹¬ν•˜κΈ° 전에 μ½”λ“œκ°€ μˆ˜μ •λ  ν•„μš”κ°€ 있음

  • 더 μžμ„Ένžˆ μ„€λͺ…ν•˜λ©΄ react-scripts λΌμ΄λΈŒλŸ¬λ¦¬κ°€ λΈŒλΌμš°μ €μ— 전달될 HTMLνŒŒμΌμ— <script> νƒœκ·Έλ₯Ό μΆ”κ°€ν•΄μ„œ κ°„μ†Œν™”λ˜κ³  μ΅œμ ν™”λœ JSνŒŒμΌμ„ import함

  • CRA, Viteλ₯Ό μ‚¬μš©ν•˜λ©΄ λΉŒλ“œ ν”„λ‘œμ„ΈμŠ€κ°€ νƒ‘μž¬λ˜μ–΄ μžˆμ–΄ λ³„λ„μ˜ 섀정이 ν•„μš”μ—†μŒ

JavaScript Basic

λ³€μˆ˜μ™€ μƒμˆ˜

  • λ³€μˆ˜ : let

    • var의 문제점 : 블둝 μŠ€μ½”ν”„κ°€ μ—†μœΌλ©°(ν•¨μˆ˜ μˆ˜μ€€μ˜ μŠ€μ½”ν”„) 쀑볡 선언을 ν—ˆμš©ν•¨ λ˜ν•œ ν•¨μˆ˜κ°€ μ‹œμž‘λ˜λŠ” μ‹œμ (μŠ€ν¬λ¦½νŠΈκ°€ μ‹œμž‘λ˜λŠ” μ‹œμ )에 처리됨

  • μƒμˆ˜ : const μž¬ν• λ‹ΉX, μ˜λ„κ°€ λͺ…ν™•, μ½κΈ°μ „μš©

ν•¨μˆ˜

  • function ν‚€μ›Œλ“œ

  • () => ν™”μ‚΄ν‘œ ν•¨μˆ˜

    • 읡λͺ…ν•¨μˆ˜λ₯Ό μ •μ˜ν•  λ•Œ

    • λ§€κ°œλ³€μˆ˜κ°€ 1개일 λ•Œλ§Œ ()μƒλž΅κ°€λŠ₯

    • λ°˜ν™˜λ¬Έ(return)만 μžˆλŠ” 경우 returnκ³Ό {}μƒλž΅κ°€λŠ₯

객체와 클래슀

  • λ‚΄λΆ€μ—μ„œ λ©”μ†Œλ“œ(ν•¨μˆ˜) 생성 κ°€λŠ₯

  • 본인의 ν”„λ‘œνΌν‹°μ— μ ‘κ·Ό μ‹œ this ν‚€μ›Œλ“œ μ‚¬μš©

  • constructor() μƒμ„±μž ν•¨μˆ˜

λ°°μ—΄

  • [value1, value2, ...]

  • νŠΉλ³„ν•œ μœ ν˜•μ˜ 객체이자 κ°’ type

  • array.[method name] : λ‚΄μž₯ μœ ν‹Έλ¦¬ν‹° λ©”μ†Œλ“œ

    • ex) findIndex map(μƒˆ 배열을 λ°˜ν™˜)

Destructuring

  • λ°°μ—΄κ³Ό 객체의 λΆ„ν•΄

//array
const [firstName, lastName] = ["Yoonjung", "Kim"]

//object
const {name: userName, age} = {
  name: "Yoonjung",
  age: 29
};
  • ν•¨μˆ˜ λ§€κ°œλ³€μˆ˜ λͺ©λ‘μ˜ λΆ„ν•΄

//ν•˜λ‚˜μ˜ λ§€κ°œλ³€μˆ˜(객체)만 λ°›λŠ” 것
function storeOrder({id, currency}) {
  ...
}

Spread Operator

  • ...

//array
const mergedArray = [...array1, ...array2]

//object
const extendedObject = {
  newKey: true,
  ...oldObject
}

Array Methods

Last updated