2017-07-06 10 views
0

私はこのような機能パラメータ何かのavaibleで値を設定したいと思います:関数のパラメータの使用可能な値を事前定義することは可能ですか?

let valueList = [ 
    'val1', 
    'val2', 
    'val3', 
]; 

let getSomething = (parameter: valueList) => { 
    // do something 
} 

と私はコンソールにエラーを取得したい場合VALUELIST変数であるもの以外のパラメータの値が。

そして、私は次のように関数を呼び出すとき、IDEが可能な値を見せつけるかどうかは、良いでしょう。このため

getSomething(| <- cursor) // when cursor here, the IDE show the possible values from valueList 
+0

* enum *が必要ですか? – Li357

+0

[TypeScriptでenumのような型を作成するにはどうすればいいですか?](https://stackoverflow.com/questions/12687793/how-to-create-enum-like-type-in​​-typescript) –

+0

[How jsdocで文字列型を制限する可能性のある値を文書化する](https://stackoverflow.com/questions/19093935/how-to-document-a-string-type-in​​-jsdoc-with-limited-possible- valuesues) – skiilaa

答えて

0

使用enum

enum ValueList { 
    val1, 
    val2, 
    val3 
} 
1

あなたは列挙型を定義することができます他の答えに記載されているように、またはパラメータを文字列にする場合は、ユニオンタイプと組み合わされた文字列リテラルタイプを使用できます。

type valueList = 'val1' | 'val2' | 'val3'; 


let getSomething = (parameter: valueList) => { 
    // do something 
} 

getSomething("val1") // OK 
getSomething("val1-wrong") // Error 
関連する問題