TypeScript で名前付き引数っぽいことをしたかった

TypeScript で名前付き引数っぽいことをしたかった

とにかく記憶力と注意力に問題があるので間違いは出して欲しいしその場でなにが投げられてるかわかりたい。

クラスでこう書くと

class ValidatorCallback {
    public valid: Function;
    public invalid: Function;

    constructor(params: { valid: Function; invalid: Function }) {
        this.valid = params.valid;
        this.invalid = params.invalid;
    }
}

こう書くときにサジェストがちゃんと出て幸せになれた。

new ValidatorCallback({
    valid: () => {
        $('#content_error').html('');
    },
    invalid: (errors: string[]) => {
        $('#content_error').html(errors.join('<br>'));
    }
});

undefined を許容するにはこう。

class ValidatorCallback {
    public valid: Function;
    public invalid: Function;

    constructor(params: { valid?: Function; invalid?: Function }) {
        this.valid = params.valid;
        this.invalid = params.invalid;
    }
}