我有3個對象這樣的:如何在JavaScript中對類,函數和函數屬性進行分類?
class Person {
constructor(name, age) {
this._name = name;
this._age = age;
}
}
let Add = function (a, b) {
return a + b
};
let Math = {
multiply: function (x, y) {
return x * y
}
};
你可以see
,Person
是一類,Add
和Math.multiply
的功能。
我的問題:在這種情況下如何分類class
和functions
?
我的問題來自:Person
看起來像一個函數,就像這樣:
let Person = function (name, age) {
this._name = name;
this._age = age;
};
而且,不存在任何問題,如果我聲明瞭一個對象來獲取Add
功能的新實例:
let result = new Add(2, 3); // this is allowed although it just needn't
新操作員創建一個in立場的一個用戶定義的對象類型或 內置對象類型之一,具有構造函數。
所有的3例,Person
,Add
和Math.multiply
是構造函數。所以:
let person = new Person('Hermione', 18); // allowed
let result = new Add(2, 3); // allowed
result = new Math.multiply(2, 2); // allowed
然後,因爲所有的人都構造,它是如此難以歸類class
和function
(對我來說)。
有沒有辦法做到這一點?
對不起,你最終的目標是什麼?以「分類和功能」......在某種意義上說?爲了什麼目的,你需要這種分類?分類會改變你的代碼的工作方式嗎? –
@JaromandaX在我的例子中。 'class'看起來像一個'function',而'function'看起來像'class'。我想分類它。 'Person'是一個類,'Add'和'Math.multiply'是函數。 –
那裏,你剛剛歸類他們 –