ES6がクラスとして到着しました。 だから私は、クラスを使用するときと、単純な関数を使用するときには、 JavaScriptで知りたいです。ES6クラスを使用するタイミングとjavacriptの機能を使用するタイミング
また、新しいオブジェクトを作成する機能もあります。あなたはバベルや活字体を使用するか、単にその単純に書くことがあるため、あなたがclass
表記を使用することができ、ブラウザのinteroperabitilityの世話、しかしではない場合
ES6がクラスとして到着しました。 だから私は、クラスを使用するときと、単純な関数を使用するときには、 JavaScriptで知りたいです。ES6クラスを使用するタイミングとjavacriptの機能を使用するタイミング
また、新しいオブジェクトを作成する機能もあります。あなたはバベルや活字体を使用するか、単にその単純に書くことがあるため、あなたがclass
表記を使用することができ、ブラウザのinteroperabitilityの世話、しかしではない場合
のJs Class
は
function SomeClass() {
// this is basically a constructor
this.property = 'some value';
};
SomeClass.prototype.someMethod = function() {
// here you define method logic
}
のためだけ糖衣構文でありますエッセンス、何も変わりません。
また、新しいオブジェクトを作成する機能もあります。
JSのすべてが、プリミティブ(ブール値、数)で
はそうではなく、JavaやC#のようなOOP言語の意味で、でもArray
、String
または{}
またはFunction
新しいオブジェクトを作成することのできるeverytrhing Object
から作成されます。
ご覧のとおり、JSはプロトタイプの言語です。すべてのオブジェクトにprototype
という特別なメンバーがあります。 someObject.someMember
を呼び出すとsomeMember
がsomeObject
で検索され、そこに見つからない場合はエンジンがsomeObject.protoype
にあります。形式的にはpreviousObject
です。あなたはsomeObject
がpreviousObject
をprototype
と参照しているので、previousObject
のサブクラスであると言うことができます。これはOOP言語とは異なりますが、サブクラス化とほぼ同じように動作します。
あなたはこの
var newObject = {};
newObject.prototype = previousObject;
または
var newObject = Object.create(previousObject);
または
function newObject() { ... }
newObject.prototype = previousObject;
または
class newObject extends previousObject { ... }
ヨなどの任意のオブジェクトから新しいオブジェクトを作ることができますクラス(プロトタイプオブジェクトを持つコンストラクタ関数)が必要なときに 'class'を使います。他の関数が必要なときに 'function'を使います。 – Bergi