LoginSignup
4
2

Property Parameter Argument の違い【JavaScript】

Posted at

はじめに

Property Parameter Argument の違いが曖昧だったのですが、いったん理解できたと思うので共有します。

Property

const obj = {a:1, b:2, c:3}

このときの a b cProperty と言います。

Parameter

function f (a, b, c) {
  console.log(a + b + c)
}

このときの a b cParameter と言います。

Argument

function f (a, b, c) {
  console.log(a + b + c)
}

f(1, 2, 3)

このときの 1 2 3Argument と言います。

MDNからの引用

「仮引数 (parameter)」と「実引数 (argument)」の違いに注意してください。

関数の仮引数は、関数の定義に掲載されている名前です。
関数の実引数は、関数に渡される実際の値です。
仮引数は、実引数が提供した値で初期化されます。

なお、MDN はJSに関する膨大な情報を持つ信頼性の高いサイトですが、
完全な一次情報ではないと思っています。

ECMA公式ドキュメントで該当の記述をご存知の方、教えていただけますと幸いです。

また、Property については MDN 英語原文のページを参照することをおすすめします。
日本語訳ページでは情報が圧倒的に少ない上、一部誤った情報が掲載されています。

豆知識:予約語

Property Parameter Argument のうち、Property には予約語を使用することができます。
(かつてはブラウザによっては禁止だったらしい)

予約語についてはこちら

const object = {const: 3, let: 2, var: 1}

みたいなこともできるわけですね。可読性が終わるのでやらない方がいいですが。
example.const.do.break.defaultみたいなこともできるわけです(やめろ)

一方、Parameter には予約語を使用できません。

function f(const) {
  // SyntaxError
}
4
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2