JavaScript 関数 apply()
メソッドの再利用
このapply()
メソッドを使用すると、さまざまなオブジェクトで使用できるメソッドを作成できます。
JavaScript の apply() メソッド
apply()
メソッドはcall()
メソッド(前の章)に似ています。
この例では、personのfullNameメソッドがperson1に適用されます。
例
const person = {
fullName: function() {
return this.lastName + " " + this.firstName;
}
}
const person1 = {
lastName: "山田",
firstName: "花子"
}
// 山田花子を返します。
person.fullName.apply(person1);
call() と apply() の違い
違いは次のとおりです。
このcall()
メソッドは引数を個別に受け取ります。
このメソッドは引数を配列apply()
として受け取ります。
引数リストの代わりに配列を使用する場合は、apply() メソッドが非常に便利です。
引数付きの apply() メソッド
このapply()
メソッドは配列内の引数を受け取ります。
例
const person = {
fullName: function(city, country) {
return this.lastName + " " + this.firstName + "," + city + "," + country;
}
}
const person1 = {
lastName:"山田",
firstName: "太郎"
}
person.fullName.apply(person1, ["東京", "日本"]);
call()
メソッドとの比較:
例
const person = {
fullName: function(city, country) {
return this.lastName + " " + this.firstName + "," + city + "," + country;
}
}
const person1 = {
lastName:"山田",
firstName: "太郎"
}
person.fullName.call(person1, "東京", "日本");
配列で Max メソッドをシミュレートする
Math.max()
メソッドを使用して、(数値のリスト内の) 最大の数値を見つけることができます。:
JavaScript配列にはmax() メソッドがないため、代わりにMath.max()
メソッドを適用できます。
最初の引数 (null) は重要ではありません。この例では使用しません。
これらの例では、同じ結果が得られます。
JavaScript Strictモード
JavaScript strict モードでは、apply()
メソッドの最初の引数がオブジェクトではない場合、それが呼び出された関数の所有者 (オブジェクト) になります。「non-strict」モードでは、グローバル オブジェクトになります。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。