- 関数のプロトタイプの定義と使用例:
// 関数のプロトタイプの定義
function Person(name, age) {
this.name = name;
this.age = age;
}
// プロトタイプにメソッドを追加する
Person.prototype.greet = function() {
console.log(`こんにちは、私は${this.name}です。${this.age}歳です。`);
};
// インスタンスの作成とメソッドの呼び出し
const person1 = new Person("太郎", 25);
person1.greet(); // 結果: こんにちは、私は太郎です。25歳です。
- プロトタイプを使用した継承の例:
// 親クラスの定義
function Animal(name) {
this.name = name;
}
// プロトタイプにメソッドを追加する
Animal.prototype.greet = function() {
console.log(`こんにちは、私は${this.name}です。`);
};
// 子クラスの定義
function Dog(name, breed) {
Animal.call(this, name);
this.breed = breed;
}
// 継承の設定
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
// インスタンスの作成とメソッドの呼び出し
const dog1 = new Dog("ポチ", "柴犬");
dog1.greet(); // 結果: こんにちは、私はポチです。
- エラーハンドリングの例:
function divide(a, b) {
if (b === 0) {
throw new Error("ゼロで割ることはできません。");
}
return a / b;
}
try {
const result = divide(10, 0);
console.log(result);
} catch (error) {
console.log(`エラー: ${error.message}`);
}
このように、JavaScriptでは関数のプロトタイプを使用して、関数の機能を柔軟に拡張することができます。また、適切なエラーハンドリングを行うことで、予期しないエラーに対処することもできます。以上のコード例を参考にして、JavaScriptで関数のプロトタイプとエラーハンドリングを使った開発を行ってみてください。