2016-05-21 6 views
1

Werfen Sie einen Blick auf den folgenden Code:dynamisch den Wert der Enum ändern in Typoskript

// typescript enum example 
enum foo { ONE = 1, TWO = 2, THREE = 3 } 

Ist es möglich, den Wert von ein bis 0 im laufenden Betrieb zu ändern? Wenn ja, wie?

+0

Es wäre nützlich, wenn Sie Ihren Anwendungsfall erläutert. Eine 'enum' wird normalerweise speziell ausgewählt, weil sie unveränderlich ist - d. H. Sie würden niemals wollen, dass sich die Werte ändern, da dies Ihre Anwendung unvorhersehbar machen würde. – Fenton

Antwort

3

Ich denke nicht, dass der Typskript-Compiler dies zulassen wird. Aber warum möchten Sie eine enum ändern? Der springende Punkt ist, konstante Werte genannt zu haben. Wenn Sie sie ändern wollen, warum nicht nur so etwas wie folgt verwenden:

const foo = { 
    ONE: 1, 
    TWO: 2, 
    THREE: 3 
} 
1

Ist es möglich, den Wert von ein bis 0 im laufenden Betrieb zu ändern? Wenn ja, wie?

Sie können jederzeit verwenden, um eine Typ Behauptung:

// typescript enum example 
enum foo { ONE = 1, TWO = 2, THREE = 3 } 

(foo as any).ONE = 0; 

Mehr: https://basarat.gitbooks.io/typescript/content/docs/types/type-assertion.html Aber ich würde es nicht empfehlen.

Warum schreiben Sie nicht nur die folgenden in erster Linie ?:

enum foo { ONE = 0, TWO = 2, THREE = 3 }