JavaScriptの関数とクラスについてご紹介します。関数はプログラムの中で一つのタスクや機能を実行するコードブロックをカプセル化するために使用され、コードの可読性や保守性を向上させる役割を果たします。クラスはオブジェクトの設計図であり、複数のインスタンスを作成することができます。インスタンスはクラスの特定のプロパティとメソッドを持ち、それぞれのインスタンスは独自の状態を持つことができます。
関数
今回の例では、関数 greet を定義して、名前に基づいたあいさつメッセージを生成します。関数の定義は再利用性を高め、同じ操作を複数回行うためにコードの重複を減少させるのに役立ちます。また、関数を呼び出すことで、関数内の処理が実行され、その結果が返されます。


function greet(name) { ... }: greet という名前の関数を定義しています。関数は name という引数を受け取り、その名前を使ったあいさつメッセージを返します。
return "こんにちは、" + name + "さん!";: 関数内で文字列を組み立てて返すことで、あいさつメッセージを作成しています。
var message = greet("太郎");: greet 関数を呼び出して、引数として “太郎” を渡します。関数は処理を実行し、結果のメッセージを返します。このメッセージは message 変数に代入されます。
console.log(message);: メッセージをコンソールに表示します。
クラス
今回のコード例では、Animal クラスを定義しています。クラスはオブジェクトの設計図であり、複数のインスタンスを作成することができます。インスタンスはクラスの特定のプロパティとメソッドを持ち、それぞれのインスタンスは独自の状態を持つことができます。


class Animal { ... }: Animal という名前のクラスを定義しています。クラスは、constructor メソッドで初期化とプロパティの設定、そしてその他のメソッドを含むことができます。
constructor(name, species) { ... }: クラスのコンストラクタメソッドで、インスタンスを初期化します。name と species の2つの引数を受け取り、インスタンスのプロパティに設定します。
makeSound() { ... }: クラスに属するメソッドで、動物の音を出力するメソッドです。
const cat = new Animal("ネコ", "哺乳類");: Animal クラスから cat という名前のインスタンスを作成します。コンストラクタに指定した引数が使用され、name と species プロパティが設定されます。
console.log(cat.name);: cat インスタンスの name プロパティを出力します。結果は “ネコ” になります。
console.log(dog.species);: dog インスタンスの species プロパティを出力します。結果は “哺乳類” になります。
cat.makeSound();: cat インスタンスの makeSound メソッドを呼び出します。結果は “動物の音を出します。” となります。
コード
// 関数
function greet(name) {
return "こんにちは、" + name + "さん!";
}
var message = greet("太郎");
console.log(message);
console.log("");
// クラス
class Animal {
constructor(name, species) {
this.name = name;
this.species = species;
}
makeSound() {
console.log("動物の音を出します。");
}
}
const cat = new Animal("ネコ", "哺乳類");
const dog = new Animal("イヌ", "哺乳類");
console.log(cat.name);
console.log(dog.species);
cat.makeSound();
