TypeScriptを使用して作成されたすべてのオブジェクトまたは参照への拡張メソッドを作成したい

デクスターのウェブラボ

実際、私は現在、コンポーネントで作成されたすべてのオブジェクトまたは参照への拡張メソッドを作成することを考えています。

typeScriptで拡張メソッドを作成する方法は知っていますが、インターフェイスを使用して必要な動作を取得するために必要なものを取得できません。

インターフェイスでオブジェクトを使用しようとしましたが、機能しません

MyExtensionメソッド:extension.model.ts

declare global {
  interface Object {
    thousandsSeperator(): String;
  }
}

Object.prototype.thousandsSeperator = function(): string {
  return Number(this).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
}
export {};
// this is just a simple extension method

これで、誰かがクラスのオブジェクトまたはインターフェイスの参照を作成しようとすると、私が作成した拡張メソッドを取得する必要があります。

// Object
Object1 = new MyComponentClass();

// Reference
Object2: MyComponentClass;

this.Object1.thousandsSeperator();

this.Object2.thousandsSeperator();
プニスミスラ

以下の例のfooObjは、Fooオブジェクトに割り当てられています。そのため、オブジェクト内のすべてのメソッドと継承されたプロパティにアクセスできます。

だが

fooObj1Fooタイプとして宣言されています。つまり、fooObj1Fooタイプのオブジェクトのみを持つことができると宣言しています。

// Add thousandsSeperator in the Object interface.
interface Object {
    thousandsSeperator(): String;
}

// assign the method to the object prototype.
Object.prototype.thousandsSeperator = function(): string {
    // this is the instance of the object and value is the property on it.
    return Number(this.value).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
};
// now all the object of the created will get the thousandsSeperator method.
class Foo {
    value: string = '123456';
}
// create an object 
let fooObj: Foo = new Foo();
// here on the fooObj thousandsSeperator method can be accessed.
fooObj.thousandsSeperator();

// undeclared variable.
let fooObj1: Foo 
// this is eqivalent to var fooObj1; 

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

setRefClassを介して作成されたオブジェクトのas.data.frameメソッドとas.matrixメソッドを拡張する

分類Dev

JOptionPane静的メソッドによって作成されたオブジェクトへの参照を取得する

分類Dev

新しいメソッドを使用して作成されたオブジェクトをモックする方法

分類Dev

バインドされたメソッドをPythonオブジェクトに設定して、循環参照を作成するのはなぜですか?

分類Dev

startActivityを介して作成されたAppCompatActivityオブジェクトへの参照

分類Dev

作成されたすべてのオブジェクトでメソッドを呼び出す

分類Dev

メソッド内で作成されたオブジェクトへの参照を返す方法

分類Dev

__init__メソッドで作成されたオブジェクトのすべてのパラメーターを出力する方法はありますか?

分類Dev

静的ファクトリメソッドは、呼び出されるたびに新しいオブジェクトを作成しています

分類Dev

静的ファクトリメソッドは、呼び出されるたびに新しいオブジェクトを作成しています

分類Dev

参照として渡されたパラメータでオブジェクトを作成しています

分類Dev

メソッドの戻り値は、メソッドパラメータとして渡されたオブジェクトを変更しています

分類Dev

呼び出されたメソッドの名前を返すRubyオブジェクトを作成します

分類Dev

selfは、新しく作成されたオブジェクトを指します。他のクラスメソッドでは、メソッドが呼び出されたインスタンスを参照します。

分類Dev

List <T>は、独自に使用するために、追加されたオブジェクトの新しいインスタンスを参照または作成することによって、新しいオブジェクトを追加しますか?

分類Dev

親キーへの参照を使用して、ネストされたオブジェクトから文字列を作成します

分類Dev

runSyncメソッドで作成されたオブジェクトの値を返します

分類Dev

Javaは、クラス/静的メソッドの代わりにインスタンスメソッドを使用して、インスタンス化されたオブジェクトごとに一意のIDを作成します

分類Dev

Javaのメモリに格納されているtostringメソッドを使用して作成した場合、文字列オブジェクトはどこにありますか?

分類Dev

Swiftのすべてのオブジェクトに拡張機能/メソッドを追加します

分類Dev

キーの値を使用して、JSON / JSオブジェクト内の任意の(深い)ネストされたノードへの参照を取得します

分類Dev

他のクラスからメソッドが呼び出されたときに、メソッドオブジェクトへの参照を取得します(javascript)

分類Dev

ES6で、クラスを使用して作成されたオブジェクトのメソッドがバインドされていないのはなぜですか?

分類Dev

ES6で、クラスを使用して作成されたオブジェクトのメソッドがバインドされていないのはなぜですか?

分類Dev

すべてのiOSバージョンのサブクラス化されたSKNodeオブジェクトの便利なメソッドを作成する

分類Dev

繰り返しますが... Spring Boot / Securityを使用したメソッドセキュリティ:「methodSecurityInterceptor」という名前のBeanの作成中にエラーが発生しました「このオブジェクトはすでにビルドされています」

分類Dev

静的メソッドまたはOpenGLのもののために初期化されたオブジェクトからのメソッドを使用しますか?

分類Dev

Delphiで、1つの変数だけを使用して作成されたオブジェクトを参照するにはどうすればよいですか?

分類Dev

新しいキーワードを使用して作成されたオブジェクトでのmockitoの使用

Related 関連記事

  1. 1

    setRefClassを介して作成されたオブジェクトのas.data.frameメソッドとas.matrixメソッドを拡張する

  2. 2

    JOptionPane静的メソッドによって作成されたオブジェクトへの参照を取得する

  3. 3

    新しいメソッドを使用して作成されたオブジェクトをモックする方法

  4. 4

    バインドされたメソッドをPythonオブジェクトに設定して、循環参照を作成するのはなぜですか?

  5. 5

    startActivityを介して作成されたAppCompatActivityオブジェクトへの参照

  6. 6

    作成されたすべてのオブジェクトでメソッドを呼び出す

  7. 7

    メソッド内で作成されたオブジェクトへの参照を返す方法

  8. 8

    __init__メソッドで作成されたオブジェクトのすべてのパラメーターを出力する方法はありますか?

  9. 9

    静的ファクトリメソッドは、呼び出されるたびに新しいオブジェクトを作成しています

  10. 10

    静的ファクトリメソッドは、呼び出されるたびに新しいオブジェクトを作成しています

  11. 11

    参照として渡されたパラメータでオブジェクトを作成しています

  12. 12

    メソッドの戻り値は、メソッドパラメータとして渡されたオブジェクトを変更しています

  13. 13

    呼び出されたメソッドの名前を返すRubyオブジェクトを作成します

  14. 14

    selfは、新しく作成されたオブジェクトを指します。他のクラスメソッドでは、メソッドが呼び出されたインスタンスを参照します。

  15. 15

    List <T>は、独自に使用するために、追加されたオブジェクトの新しいインスタンスを参照または作成することによって、新しいオブジェクトを追加しますか?

  16. 16

    親キーへの参照を使用して、ネストされたオブジェクトから文字列を作成します

  17. 17

    runSyncメソッドで作成されたオブジェクトの値を返します

  18. 18

    Javaは、クラス/静的メソッドの代わりにインスタンスメソッドを使用して、インスタンス化されたオブジェクトごとに一意のIDを作成します

  19. 19

    Javaのメモリに格納されているtostringメソッドを使用して作成した場合、文字列オブジェクトはどこにありますか?

  20. 20

    Swiftのすべてのオブジェクトに拡張機能/メソッドを追加します

  21. 21

    キーの値を使用して、JSON / JSオブジェクト内の任意の(深い)ネストされたノードへの参照を取得します

  22. 22

    他のクラスからメソッドが呼び出されたときに、メソッドオブジェクトへの参照を取得します(javascript)

  23. 23

    ES6で、クラスを使用して作成されたオブジェクトのメソッドがバインドされていないのはなぜですか?

  24. 24

    ES6で、クラスを使用して作成されたオブジェクトのメソッドがバインドされていないのはなぜですか?

  25. 25

    すべてのiOSバージョンのサブクラス化されたSKNodeオブジェクトの便利なメソッドを作成する

  26. 26

    繰り返しますが... Spring Boot / Securityを使用したメソッドセキュリティ:「methodSecurityInterceptor」という名前のBeanの作成中にエラーが発生しました「このオブジェクトはすでにビルドされています」

  27. 27

    静的メソッドまたはOpenGLのもののために初期化されたオブジェクトからのメソッドを使用しますか?

  28. 28

    Delphiで、1つの変数だけを使用して作成されたオブジェクトを参照するにはどうすればよいですか?

  29. 29

    新しいキーワードを使用して作成されたオブジェクトでのmockitoの使用

ホットタグ

アーカイブ