【Javascript】メソッドを定義(宣言・初期化)

この記事では、Javascriptでメソッドを定義(宣言・初期化)する方法とソースコードについて紹介します。

## メソッドを定義(宣言・初期化)

メソッド(method)とは、クラスが持つ関数のことです。
メソッドには操作・処理の内容を記述します。
【詳細】メソッド・プロパティとは?意味や違いを解説

## ソースコード

サンプルプログラムのソースコードです。

HTML側

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Test</title>
<!--外部ファイルに記述-->
<pre type="text/javapre" src="main.js"></pre>
</head>
<body>
<!-- ボタンを押すとmain関数を実行 -->
<input type="button" value="実行ボタン" onclick="main();"/>
</body>
</html>

Javascript側

main.js

// クラスの定義
var Kanmusu = function(name, type)
{
    // メンバ変数(インスタンス変数)
    this.name = name;
    this.type  = type;
    // メソッドの定義
    this.show = function() {
        alert("艦名:" + this.name + "\n艦種:" + this.type);
    }
}

function main()
{
    // インスタンスの生成
    var fubuki = new Kanmusu("吹雪", "駆逐艦");
    // メソッドを呼び出して実行
    fubuki.show();
}

## 実行結果

サンプルプログラムの実行結果です。
「実行ボタン」を押すとアラート画面に「艦名」「艦種」が表示されます。

しかし、この方法でメソッドを定義すると、「new Kanmusu ()」でインスタンスを生成するたびに、コンストラクタ内で定義されたメソッド(show)がコピーされてしまいます。
一般的にメソッドは、どのインスタンスのものでも、処理の内容は同じです。
ですので、いちいちコピーして別々のメモリ領域を消費するのは無駄になります。
それを防ぐ方法として、prototypeプロパティを利用したメソッドの定義方法があります。
【Javascript】メソッドを定義(prototypeプロパティ)

関連記事
1 Javascript入門 基本文法

コメント