- 関数の上書き: 最も簡単な方法は、同じ名前の関数を複数回定義し、最後の定義が有効になるようにすることです。
function myFunction() {
console.log("First function");
}
function myFunction() {
console.log("Second function");
}
myFunction(); // "Second function"が出力されます
- オブジェクトのプロパティとして関数を定義する: JavaScriptでは、オブジェクトのプロパティとして関数を定義することもできます。この場合、同じ名前の関数を異なるオブジェクトに定義することができます。
var obj1 = {
myFunction: function() {
console.log("First function");
}
};
var obj2 = {
myFunction: function() {
console.log("Second function");
}
};
obj1.myFunction(); // "First function"が出力されます
obj2.myFunction(); // "Second function"が出力されます
- クロージャを使用する: クロージャは、関数とその関数が作成された環境(スコープ)を結びつける仕組みです。これを利用して、同じ名前の関数を異なるスコープ内で定義することができます。
function createFunction(message) {
return function() {
console.log(message);
};
}
var func1 = createFunction("First function");
var func2 = createFunction("Second function");
func1(); // "First function"が出力されます
func2(); // "Second function"が出力されます
以上が、JavaScriptで同じ名前の2つの異なる関数を作成する方法のいくつかです。ただし、名前の衝突を避けるためには注意が必要です。