値は参照によって渡されますか、それともJavaScriptの値によって渡されますか?

答えは:それは異なります!

プリミティブ型は値によって渡されます。

オブジェクトは参照によって渡されます。

プリミティブ型は、数値、文字列、ブール値、null、未定義、および記号です。

プリミティブ型ではないものはすべてオブジェクト。配列はオブジェクトです。関数はオブジェクトです。

関数に数値を渡すと、その数値が関数にコピーされます。

const increment = num => {
  num = num + 1
}

const num = 2 increment(num)

console.log(num) //2

オブジェクトを渡すと、参照によって渡されるため、そのプロパティの1つを変更すると、元のオブジェクトも変更されます。

const increment = num => {
  num.value = num.value + 1
}

const num = { value: 2 }

increment(num)

console.log(num.value) //3

私の無料ダウンロードJavaScriptビギナーズハンドブック


その他のjsチュートリアル: