Rest Parameters (...)

About

JavaScript의 Rest parameter(...) 문법은 ν•¨μˆ˜κ°€ λͺ…μ‹œλ˜μ§€ μ•Šμ€ 갯수의 λ§€κ°œλ³€μˆ˜λ₯Ό λ°°μ—΄λ‘œ 받을 수 μžˆλ„λ‘ ν•œλ‹€.

Javaμ—μ„œλŠ” κ°€λ³€μΈμž (Varargs)둜 μ•Œλ €μ Έ μžˆλ‹€.

Syntax

function f(a, b, ...theArgs) {
  // ...
}

f(3, 4, 5, 6, 7, 8, 9, 10)
  • .을 μ„Έκ°œ 찍어 ...둜 λ§Œλ“€μ–΄ λ§€κ°œλ³€μˆ˜ μ•žμ— 두면 rest parameter둜 μΈμ‹λœλ‹€.

  • a, b 뒀에 λ‚˜μ˜€λŠ” 3, 4, ..., n번째 λ³€μˆ˜λŠ” λͺ¨λ‘ theArgs μ•ˆμ— λ“€μ–΄κ°„λ‹€.

    • a, bλŠ” 각각 3, 4, 그리고 theArgsλŠ” [5, 6, 7, 8, 9, 10]이 λœλ‹€.

Caution

Note: ν•¨μˆ˜λŠ” λ°˜λ“œμ‹œ ν•˜λ‚˜μ˜ ... rest parameter을 κ°€μ§ˆ 수 μžˆλ‹€.

// Wrong!
foo(...one, ...wrong, ...wrong)

Note: Rest parameterλŠ” ν•¨μˆ˜ μ •μ˜μ—μ„œ 맨 λ§ˆμ§€λ§‰ λ§€κ°œλ³€μˆ˜κ°€ λ˜μ–΄μ•Ό ν•œλ‹€.

// Wrong!
foo(...wrong, arg2, arg3)

Note: λ§žλŠ” μ˜ˆμ‹œ

foo(arg1, arg2, ...correct)

REF

MDN Web Docs - Rest parameters

Last updated