目次
オブジェクト指向
ES6 でコンストラクターを定義するには、constructor() を使用します。その機能は、オブジェクトのプロパティ (メンバー変数) を初期化することです。コンストラクターは必要ありません。ユーザーがコンストラクターを定義しない場合、システムはデフォルトの引数のないコンストラクターを生成します。
結果は次のとおりです:
JavaScript では、継承は 2 つのクラス間の関係を表現するために使用されます。サブクラスは親クラスの一部の属性とメソッドを継承できます。継承後は、独自の一意のプロパティとメソッドを追加することもできます。
コンストラクター
ホームページ ウェブフロントエンド フロントエンドQ&A es6 のクラスの静的メンバーとは何ですか

es6 のクラスの静的メンバーとは何ですか

Nov 03, 2022 pm 06:38 PM
javascript es6

es6 では、クラスから直接呼び出されるプロパティやメソッドを静的メンバーと呼びます。クラス内の変数または関数に static キーワードを追加すると、それは静的メンバーとなり、新しいオブジェクトの要素としてインスタンス化されません。静的メンバーとインスタンス メンバーの違い: 1. インスタンス メンバーは特定のオブジェクトに属しますが、静的メンバーはすべてのオブジェクトによって共有されます; 2. 静的メンバーはクラス名またはコンストラクターを通じてアクセスされ、インスタンス メンバーはインスタンス化されたオブジェクトを通じてアクセスされます。

es6 のクラスの静的メンバーとは何ですか

このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。

オブジェクト指向

オブジェクト指向の主な考え方は、解決する必要がある問題をオブジェクトに分解することです。オブジェクトはステップを実装するものではなく、問題を解決する際の各オブジェクトの 動作を記述するものです。オブジェクト指向の中核は オブジェクトです。

オブジェクト指向の利点:

  • より深いモジュール性と強力なカプセル化
  • 複雑なビジネス ロジックの実装が容易
  • 保守、再利用、拡張が容易になりました
##オブジェクト指向の機能:

カプセル化: オブジェクトは属性であり、動作の組み合わせです
  • ポリモーフィズム: 同じメッセージが異なるオブジェクトによって受信されると、異なる効果が生じます。
  • 継承: サブクラスは親クラスの情報を継承できます
ES6 オブジェクト-指向文法

ES6: ES は ECMAScript の略称で、JavaScript の構文仕様です。 ES6 は ES5 を拡張し、オブジェクト指向プログラミング関連テクノロジとクラスの概念を追加します。

クラスとオブジェクト

クラス

: 同じプロパティと動作を持つコレクションはクラスと呼ばれます (クラスはオブジェクトの抽象化です) )、クラス内 ほとんどのデータは、このクラスのメソッドを使用してのみ処理できます。 オブジェクト
: クラスのインスタンスです (クラスを具体化したものです) #クラスキーワード

: クラスを定義するために使用されます

class 类名{// "类名"是一个用户标识符 通常建议首字母大写
           属性;
           函数;
}
ログイン後にコピー
Constructor

ES6 でコンストラクターを定義するには、constructor() を使用します。その機能は、オブジェクトのプロパティ (メンバー変数) を初期化することです。コンストラクターは必要ありません。ユーザーがコンストラクターを定義しない場合、システムはデフォルトの引数のないコンストラクターを生成します。

#通常のメンバー関数

函数名([参数]){
     函数体语句
}
ログイン後にコピー
变量名 = function([参数]){
      函数体语句
}
ログイン後にコピー
            class Person{
                constructor(name,age,sex){// 构造函数 初始化对象的成员
                    this.name = name;// this指向构造函数新创建的对象
                    this.age = age;
                    this.sex = sex;
                }
                    tt = function(){ //普通的成员函数
	                    console.log(this.name);
	                    console.log(this.age);
	                    console.log(this.sex);
                	}	
            }
            var p = new Person('李相赫',25,'男')// p1是一个对象 通过调用构造函数对p1的三个属性进行了初始化
            p.fun();
ログイン後にコピー
        class Circle{// 定义类Circlie
            constructor(r){
                this.radius = r;
            };
            area(){ // 计算圆的面积
                var s = Math.PI*this.radius**2;
                return s;
            };
            // 计算圆的周长
            CircleLength = function(){
            return 2*Math.PI*this.radius;
            };
        };
        var c1 = new Circle(5);
        console.log('半径为5的圆的面积='+c1.area());
        console.log('半径为5的圆的周长='+c1.Circle_length());
ログイン後にコピー

結果は次のとおりです:


#

		// 用类实现简单的四则运算
        class Number{// 定义类Number
            constructor(n1,n2){
                this.n1=n1;
                this.n2=n2;
            };
            add(){
                var sum = this.n1+this.n2;
                return sum;
            };
            sub(){
                var sum1 = this.n1-this.n2;
                return sum1;
            };
            mut(){
                var sum2 = this.n1*this.n2;
                return sum2;
            };
            p(){
                if(this.n2!=0){
                    var sum3 = this.n1/this.n2;
                    return sum3;
                }
            }
        }
        var p1 = new Number(12,21);
        console.log(p1.add());
        console.log(p1.sub());
        console.log(p1.mut());
        console.log(p1.p());
ログイン後にコピー

In ES6 クラスの継承es6 のクラスの静的メンバーとは何ですか

JavaScript では、継承は 2 つのクラス間の関係を表現するために使用されます。サブクラスは親クラスの一部の属性とメソッドを継承できます。継承後は、独自の一意のプロパティとメソッドを追加することもできます。

構文:

class 子类名 extends 父类名{
       函数体语句;
};
ログイン後にコピー

継承に関する注意:

親クラスが定義されている必要があります

サブクラスは派生クラスとも呼ばれます。親クラスのプロパティと関数を継承できます。
  • サブクラスは親クラスのコンストラクターを継承できません。
  • #スーパー キーワード
サブクラスは親クラスのコンストラクターを継承できません。親クラスのコンストラクターを呼び出したい場合は、super キーワードを使用できます。

#**注: **サブクラスのコンストラクターで super を使用して親クラスのコンストラクターを呼び出す場合、呼び出しステートメントはサブクラスのコンストラクターの最初のステートメントである必要があります。親クラスのコンストラクタを呼び出す

super([参数])
ログイン後にコピー

通常のメンバ関数を呼び出す

super.函数名([参数])
ログイン後にコピー

#メソッドオーバーライド

サブクラスで定義されている関数が同じ名前の場合親クラスの関数と同様に、サブクラスの関数が親クラスの関数をオーバーライドします。サブクラスで同じ名前の親クラスの通常のメンバー関数を呼び出すと、問題を解決できます。

        class Father{ //父类(基类或超类)
            constructor(type,color){
                this.type = type;
                this.color = color;
            }
            money(){
                console.log(100);
            }
            show(){
                console.log('类型:'+this.type);
                console.log('颜色:'+this.color);
            }
        }
        class Son extends Father{ //Son是子类(又称派生类)
            constructor(type,color,weight){
                super(type,color); //调用父类的构造函数 要放在首位
                this.weight = weight;
            };
            show(){
                super.show();// 调用父类的普通成员函数
                console.log('重量:'+this.weight);
            };
            other(){
                return '子类的其他方法';
            };
        };
        var s1 = new Son('iPhone 12','黑色','3000g');//s1为子类的实例
        s1.show();
        console.log(s1.other());
ログイン後にコピー

静的メンバーとインスタンス メンバー

静的メンバー

: es6 のクラスの静的メンバーとは何ですかクラス名

または

コンストラクター

を通じてアクセスされるメンバーインスタンス メンバー: インスタンス オブジェクト経由アクセスされるメンバーはインスタンス メンバーと呼ばれます

違い:

インスタンス メンバーは特定のメンバーに属します静的メンバーはすべてのオブジェクトによって共有されますが、静的メンバーはすべてのオブジェクトによって共有されます静的メンバーは

クラス名

または

コンストラクター
    を通じてアクセスされ、インスタンス メンバーは
  • インスタンス化されたオブジェクト ## を通じてアクセスされます
  • # ES5 での静的属性の定義 ES6 での
            function Student(name,age,sex){
                Student.school = '西安邮电大学';// school是静态成员
                this.name = name;
                this.age = age;
                this.sex = sex;// name age sex都是实例成员
                this.show = function(){
                    console.log('姓名:'+this.name);
                    console.log('年龄:'+this.age);
                    console.log('性别:'+this.sex);
                };
            };
            var f = new Student('李相赫',23,'男');
            f.show();
            console.log(Student.school);// 西安邮电大学
            console.log(f.school);// undefined
    ログイン後にコピー
    ES7 での静的プロパティ定義クラスを定義するときに static キーワードを使用する
  • Define静的プロパティ
        class Foo{
            constructor(){
                this.color = '红色';// color是实例成员
            }
        }
        Foo.prop = 45;// prop是静态成员
        var f1 = new Foo();
        console.log('静态属性:'+Foo.prop);// 45
        console.log(f1.prop);// undefined
ログイン後にコピー

クラスとコンストラクター違い

クラス内のメンバー メソッドは、クラス内で定義されます。クラスを使用してオブジェクトを作成した後、これらのオブジェクトのメソッドは、すべて同じメソッドを参照するため、メモリ領域を節約できます。

        class Foo{
            static prop = 45; //prop是静态成员
            constructor(){
                this.color = '红色';
            }
        }
        var f2 = new Foo();
        console.log('静态属性:'+Foo.prop);// 45
        console.log(f2.prop);// undefined
ログイン後にコピー

【関連する推奨事項:

JavaScript ビデオ チュートリアル

Web フロントエンド

]

以上がes6 のクラスの静的メンバーとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

JavaScriptでinsertBeforeを使用する方法 JavaScriptでinsertBeforeを使用する方法 Nov 24, 2023 am 11:56 AM

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript で HTTP ステータス コードを簡単に取得する方法 JavaScript で HTTP ステータス コードを簡単に取得する方法 Jan 05, 2024 pm 01:37 PM

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが

See all articles