JavaScript 関数に、デフォルトを設定したオプションの引数を持たせたいのですが、これは値が定義されていない場合に使用され、値が渡された場合は無視されます。Ruby では、次のようにできます。
def read_file(file, delete_after = false)
# code
end
これは JavaScript で動作しますか?
function read_file(file, delete_after = false) {
// Code
}
ベストアンサー1
からES6/ES2015デフォルトのパラメータは言語仕様にあります。
function read_file(file, delete_after = false) {
// Code
}
ただ動作します。
デフォルトの関数パラメータを使用すると、値が渡されないかundefined が渡された場合に、仮パラメータをデフォルト値で初期化できます。
ES6では、構造化分解によりデフォルトの名前付きパラメータをシミュレートする:
// the `= {}` below lets you call the function without any parameters
function myFor({ start = 5, end = 1, step = -1 } = {}) { // (A)
// Use the variables `start`, `end` and `step` here
···
}
// sample call using an object
myFor({ start: 3, end: 0 });
// also OK
myFor();
myFor({});
ES2015以前、
方法はたくさんありますが、これは私が好む方法です。false や null など、必要なものを何でも渡すことができます。( typeof null == "object"
)
function foo(a, b) {
a = typeof a !== 'undefined' ? a : 42;
b = typeof b !== 'undefined' ? b : 'default_b';
...
}