JavaScript (7) μΈλ€μΌν 리μ€νΈν μ½λ°± ν¨μ μ½λ°± ν¨μλ?μ½λ°± ν¨μλ λ€λ₯Έ ν¨μμ μΈμλ‘ μ λ¬λμ΄ μ€νλλ ν¨μλ₯Ό λ§ν©λλ€.μ¦, νΉμ μμ μ΄ μλ£λ ν μ€νλκ±°λ μ΄λ²€νΈκ° λ°μνμ λ νΈμΆλλ ν¨μμ λλ€.function greet(callback) { callback();}function sayHello() { console.log("μλ νμΈμ!");}greet(sayHello); μμ μ½λμμ sayHelloκ° λ°λ‘ greet ν¨μμ μ λ¬λ μ½λ°± ν¨μμ λλ€.greet ν¨μ λ΄λΆμμ callback()μ΄ νΈμΆλλ©΄μ μ λ¬λ μ½λ°± ν¨μκ° μ€νλ©λλ€. μ½λ°± ν¨μ λ΄λΆμμμ thisμ½λ°± ν¨μ λ΄μμ this ν€μλλ₯Ό μ¬μ©ν λ κΈ°λνλλ‘ μλνμ§ μμ μ μμ΅λλ€. const user = { name: 'y9s2n6', greet: fu.. Promise λΉλκΈ° μ½λμμλ μ€ν μμλ₯Ό μμΈ‘νκΈ° μ΄λ ΅κΈ° λλ¬Έμ λΉλκΈ° μμ μ΄ λλ ν μ€νν μ½λλ₯Ό λͺ ννκ² μ μ΄νκΈ° μν΄μ Promiseκ° νμν©λλ€.Promise λ?λΉλκΈ° μμ μ ν¨μ¨μ μΌλ‘ μ²λ¦¬ν μ μλλ‘ λμμ£Όλ μλ°μ€ν¬λ¦½νΈμ λ΄μ₯ κ°μ²΄Promiseμ 3κ°μ§ μν- Pending(λκΈ°) : μμ§ μμ μ΄ μλ£λμ§ μμ μν- Fulfilled(μ±κ³΅) : λΉλκΈ° μμ μ΄ μ±κ³΅μ μΌλ‘ λ§λ¬΄λ¦¬λ μν- Rejected(μ€ν¨) : λΉλκΈ° μμ μ΄ μ€ν¨ν μν λκΈ° -> μ±κ³΅ : ν΄κ²°(resolve) - μνλ μμ μ΄ μλ£λμμ λ μ€νλκΈ° -> μ€ν¨ : κ±°λΆ(reject) - μμ μ€ μ€λ₯κ° λ°μνμ λ μ€ν const promise = new Promise(() => { setTimeout(() => { co.. νμ΄ν ν¨μ λ¬Έμ μν© : React νλ‘μ νΈμμ μλμ μ½λμ κ°μ΄ κ²μμ΄ νν° κΈ°λ₯μ ꡬννλλ° filteredTodosκ° μνλ κ°μ΄ λμ€μ§ μμμ΅λλ€.import { useState } from "react";import "./List.css";import TodoItem from "./TodoItem";const List = ({ todos }) => { const [search, setSearch] = useState(""); const onChangeSearch = (e) => { setSearch(e.target.value); }; const getFilteredData = () => { if (search === "") { return todos; } return.. μ€μ½ν (μ μ μ€μ½ν, μ§μ μ€μ½ν, λΈλ‘ μ€μ½ν, ν¨μ μ€μ½ν) μ€μ½ν : λ³μλ ν¨μμ μ μ½ λ²μμ μ, μ§μ μ€μ½ν - μ μ μ€μ½ν λ³μκ° μ μ μ€μ½νλ₯Ό κ°λλ€λ κ²μ ν΄λΉ λ³μλ₯Ό μ½λ μ΄λμμλ μ κ·Όν μ μλ€λ μλ―Έμ λλ€.let a = 1; // β function foo() { console.log(a);}function bar() { console.log(a);}foo(); // β‘bar(); // β’console.log(a); // β£ λ¨Όμ , ν¨μ μΈλΆμ λ³μ aλ₯Ό μ μΈνκ³ 1λ‘ μ΄κΈ°ν νμ΅λλ€. ν¨μ fooλ₯Ό νΈμΆνλ©΄ ν¨μ fooκ° μ€νλμ΄ λ³μ aμΈ 1μ μ½μμ μΆλ ₯ν©λλ€. ν¨μ barλ₯Ό νΈμΆνλ©΄ ν¨μ barκ° μ€νλμ΄ λ³μ aμΈ 1μ μ½μμ μΆλ ₯ν©λλ€. λ§μ§λ§μΌλ‘ λ³μ aμΈ 1μ μ½μμ μΆλ ₯ν©λλ€. μμ μ½λμμ λ³μ aλ 쑰건문μ΄λ λ°λ³΅λ¬Έ .. λλ¨Έμ§ λ§€κ°λ³μ(REST Parameters) μ°μ μΈμ κ°μ²΄μ λν΄μ μμλ΄ μλ€.μΈμ κ°μ²΄(Arguments Object) : ν¨μμ μ λ¬λ μΈμμ ν΄λΉνλ μ μ¬ λ°°μ΄ κ°μ²΄μΈμ κ°μ²΄λ JavaScriptμ μ€λλ κΈ°λ₯μ λλ€. μ μ¬ λ°°μ΄ κ°μ²΄λ length μμ±κ³Ό 0λΆν° μΈλ±μ€λ λ€λ₯Έ μμ±μ κ°μ§κ³ μμ§λ§, λ°°μ΄μ forEach, map λ±κ³Ό κ°μ λ΄μ₯ λ©μλλ₯Ό κ°μ§κ³ μμ§ μλ€λ λ»μ λλ€. μΈμ κ°μ²΄λ μ€μ λ°°μ΄μ΄ μλλλ€. function sum() { console.log(arguments); console.log(arguments.length); console.log(arguments[0]);}sum(); // [Arguments] {}// 0// undefinedsum(1, 2, 3); // [Arguments] { '0'.. λ§€κ°λ³μ(Parameter)μ μΈμ(Argument) λ§€κ°λ³μμ μΈμμ λͺ νν μ°¨μ΄λ₯Ό μμ§ λͺ»ν΄μ νμ€ν μ 리ν΄λ³΄κ³ μ ν©λλ€. λ§€κ°λ³μ(Parameter)λ§€κ°λ³μλ ν¨μ μ μ μ, ν¨μμ μ λ¬λ μ μλ κ°μ κ°λ¦¬ν€λ λ³μμ λλ€. function add(a, b) { return a + b;} μμ μ½λμμ aμ bλ λ§€κ°λ³μμ λλ€. add ν¨μλ 2κ°μ λ§€κ°λ³μλ₯Ό λ°μμ κ·Έ κ°μ λν©λλ€.μΈμ(Argument)μΈμλ ν¨μλ₯Ό νΈμΆν λ μ€μ λ‘ ν¨μμ μ λ¬λλ κ°μ λλ€. const result = add(2, 3); μμ μ½λμμ 2μ 3μ μΈμμ λλ€. add ν¨μκ° νΈμΆλ λ, 2μ 3μ΄λΌλ κ°μ΄ κ°κ° λ§€κ°λ³μ aμ bμ λμ λ©λλ€. κΈ°λ³Έ λ§€κ°λ³μ(default parameters) μμλ‘ greetν¨μλ nameμ΄λΌλ λ§€κ°λ³μλ₯Ό λ°μ΅λλ€. function greet(name) { console.log(`Hello, ${name}!`);} ν¨μλ₯Ό νΈμΆν λ nameμ λν κ°μ μ λ¬νμ§ μμΌλ©΄ name λ§€κ°λ³μλ μλμΌλ‘ undefined κ° λ©λλ€. greet();//Hello, undefined κ³Όκ±°μ κΈ°λ³Έκ°μ μ€μ νλ μΌλ°μ μΈ λ°©λ² function greet(name) { if (name === undefined){ name = 'Anonymous'; } console.log(`Hello, ${name}`);}greet(); // Hello, Anonymousgreet('Tom'); // Hello, Tom ν¨μ λ΄λΆμμ λ§€κ°λ³μ κ°μ ν μ€νΈνμ¬.. μ΄μ 1 λ€μ