代码之家  ›  专栏  ›  技术社区  ›  Florent Arlandis

typescript:使用枚举作为函数参数类型可以吗?

  •  0
  • Florent Arlandis  · 技术社区  · 8 年前

    简单的问题,但我有疑问,找不到答案。

    假设您有这个枚举:

    export enum fooEnum {
        Foo = 'foo',
        Bar = 'bar'
    }
    

    那么用这种方式输入函数参数可以吗?意思是“我希望接收字符串“foo”或“bar”作为参数,并希望返回“foo”或“bar”

    function doStuff(myParam: FooEnum): FooEnum {
        return myParam;
    };
    
    2 回复  |  直到 8 年前
        1
  •  3
  •   Philipp    8 年前

    enum

    JavaScript

    export enum fooEnum {
        Foo = 'foo',
        Bar = 'bar'
    }
    

    var fooEnum;
    (function (fooEnum) {
        fooEnum["Foo"] = "foo";
        fooEnum["Bar"] = "bar";
    })(fooEnum || (fooEnum = {}));
    

    String Literal

    export type fooType = 'foo' | 'bar';
    

    const enum

    export const enum fooEnum {
        Foo = 'foo',
        Bar = 'bar'
    }
    

    var bar = fooEnum.Bar;
    

    var b = 'bar';
    

    doStuff(fooEnum.Bar);
    

    string literal

    doStuff('bar');
    

        2
  •  1
  •   Josh Stevens    8 年前

    enum

    Enum

    推荐文章