2016-03-01 8 views
11

c'è un modo per creare una classe statica a macchina, Node.jsclasse statica a macchina

Voglio creare una classe statica per mantenere tutte le costanti e stringa in questo.

quale potrebbe essere il modo migliore per farlo?

+2

C'è qualche problema con l'utilizzo di un oggetto? – Marie

risposta

29

Certo si può definire una classe con proprietà statiche:

export class Constants { 
    static MAX_VALUE = 99999; 
    static MIN_VALUE = 0; 
} 

quindi utilizzarlo quando è necessario:

import { Constants } from '../constants'; 
console.log(Constants.MAX_VALUE); 
+0

questo è qualcosa che stavo cercando, Grazie Man –

+0

@ArunTyagi Prego. –

7

È possibile inserire le variabili e le funzioni che si desidera all'interno di un modulo, il che significa che non deve essere istanziato.

module constants { 
    export var myValue = 'foo'; 

    export function thisIsAStaticLikeFunction() { 
     console.log('function called'); 
    } 
} 

..... 
console.log(constants.myValue); 

Non esiste una vera classe statica, ma questo si avvicina molto alla sua replica.

+0

+1 Molto bene, grazie! Risolto il mio problema di accesso al membro statico di una sottoclasse in questo modo: 'App.Commands.mainMenuCommand'. – IngoB

1

Ora è possibile utilizzare enumerazioni così:

export enum Numbers { 
    Four = 4, 
    Five = 5, 
    Six = 6, 
    Seven = 7 
} 

Quindi utilizzarlo:

import { Numbers } from './Numbers'; 
Numbers.FIVE 
+0

Dovrebbe essere la risposta accettata e corretta. Altri avevano ragione sull'equivalente delle classi statiche in dattiloscritto, ma per lo scopo dell'apertura del filo, questa dovrebbe essere la strada da percorrere. –