ホームページ > ウェブフロントエンド > jsチュートリアル > クラス構文を使用して JavaScript でクラスを実装する方法の紹介

クラス構文を使用して JavaScript でクラスを実装する方法の紹介

不言
リリース: 2018-11-30 12:00:59
オリジナル
2942 人が閲覧しました


#JavaScript でクラスを定義するためのクラス構文が ECMAScript 6 に追加されました。この記事では、クラス構文を使用して JavaScript クラスを実装するコードを紹介します。

クラス構文を使用して JavaScript でクラスを実装する方法の紹介

#まずはブラウザのサポートを見てみましょう

ECMAScript 6 に対応する必要があるため、以下で利用可能ですブラウザ。

Microsoft Edge

Google Chrome 49 以降

Firefox 45 以降

構文形式を見てみましょう

class (类名){
   constructor ([参数...]){
   }
   (类名1)([参数...]){
     ...(方法的实现)
   }
   (类名2)([参数...]){
     ...(方法的实现)
   }
   ...
   (类名n)([参数...]){
     ...(方法的实现)
   }
 }
ログイン後にコピー

簡単な例を見てみましょう


#コードは次のとおりです

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
  <script type="text/javascript">
    class MyClass {
      method01() {
        return "Hello JavaScript Class.";
      }
    }
    function onButtonClick() {
      var mclass = new MyClass();
      var elem = document.getElementById("output");
      elem.innerHTML = mclass.method01();
    }
  </script>
</head>
<body>
  <div id="output">output</div>
  <hr/>
  <input type="button" value="Exec" onclick="onButtonClick();">
</body>
</html>
ログイン後にコピー

手順:

次のコードを使用して、このクラスを宣言して実装します。

「MyClass」クラスを宣言します。 MyClass には、method01() メソッドがあります。

method01() メソッドは文字列「Hello JavaScript Class」を返します。

class MyClass {
    method01() {
      return "Hello JavaScript Class.";
    }
  }
ログイン後にコピー

ボタンをクリックすると、次の onButtonClick() 関数が実行されます。

 function onButtonClick() {
       var mclass = new MyClass();      
       var elem = document.getElementById("output");
      elem.innerHTML = mclass.method01();
    }
ログイン後にコピー
var mclass = new MyClass();
ログイン後にコピー

上記のコードは、MyClass インスタンスを作成します。作成した MyClass オブジェクト (MyClass インスタンス) は mclass 変数に代入されます。

var elem = document.getElementById("output");
  elem.innerHTML = mclass.method01();
ログイン後にコピー

getElementById() メソッドを呼び出し、「出力」ID を持つ要素 (div) を取得します。 MyClass クラスのメソッド 1() メソッドの呼び出しからの戻り値を、要素の innerHTML の取得に置き換えます。 id が「output」の div タグの位置のテキストを「Hello JavaScript Class」に変更します。

実行結果

Webブラウザを使用して上記のHTMLファイルを表示します。以下のような効果が表示されます。

クラス構文を使用して JavaScript でクラスを実装する方法の紹介#[実行]ボタンをクリックします。 「output」と表示される文字列が「Hello JavaScript Class」に変更されます。クラスのインスタンスを作成すると、メソッドが実行できるかどうかを確認できます。

#最後に、コンストラクターの例を見てみましょうクラス構文を使用して JavaScript でクラスを実装する方法の紹介

コンストラクターを使用した単純なクラスの実装コードを紹介します。

コードは次のとおりです:

<!DOCTYPE html><html><head>
    <meta charset="utf-8" />
    <title></title>
  <script type="text/javascript">
    class MyClass {
      constructor(quote) {
              this.iquote = quote;
      }
      method01() {
          return this.iquote + "Hello JavaScript Class." + this.iquote;
      }
    }    
     function onButtonClick() {
      var mclass = new MyClass("~");      
      var elem = document.getElementById("output");
      elem.innerHTML =  mclass.method01();
    }  
      </script>
      </head>
      <body>
  <div id="output">output</div>
  <hr />
  <input type="button" value="Exec" onclick="onButtonClick();">
      </body>
      </html>
ログイン後にコピー

説明: クラスの宣言と実装の形式は前のコードと同じです。

constructor(quote) {
    this.iquote = quote;
  }
ログイン後にコピー

上記のコンストラクターを使用してコンストラクターを実装します。このコードでは、コンストラクター パラメーターに指定された値が iquote メンバー変数に格納されます。 thisの後に変数名を記述することでメンバ変数を宣言できます。

method01() {
    return this.iquote + "Hello JavaScript Class." + this.iquote;
  }
ログイン後にコピー

method01() メソッドは文字列「Hello JavaScript Class」を返します。前の例との違いは、コンストラクター パラメーターに指定された文字列が文字列の前後に追加されることです。

function onButtonClick() {
    var mclass = new MyClass("~");    
    var elem = document.getElementById("output");
    elem.innerHTML =  mclass.method01();
  }
ログイン後にコピー

ボタンをクリックすると、上記の onButtonClick() 関数が実行されます。 MyClassのインスタンスを作成し、メソッド1の戻り値を出力IDの要素に代入してブラウザ上に表示します。

実行結果

Webブラウザを使用して上記のHTMLファイルを表示します。以下のような効果が表示されます。

#[実行]ボタンをクリックします。 「出力」を表示する文字列は「~Hello JavaScript Class.~」となります。クラスのインスタンスが作成され、メソッドが実行可能であることがわかります。 「Hello JavaScript Class .」という文字列の前後で「~」が実行されることが確認できます。

クラス構文を使用して JavaScript でクラスを実装する方法の紹介

クラス構文を使用して JavaScript でクラスを実装する方法の紹介

以上がクラス構文を使用して JavaScript でクラスを実装する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート