0

私は以下を使用しています:

var modal = {
    content: '',
    form: '',
    href: ''
}

しかし、Typescript を使い始めたので、オブジェクトを宣言するより良い方法と、プロパティの型を宣言する方法はありますか。このオブジェクトを使用する理由は、それが関数内にあり、その関数内に、プロパティの値を設定して使用する他の関数があるためです。これは私がこれを行うための最良の方法ですか、それとも typescript でこれを行うことができる別の方法はありますか?

4

1 に答える 1

2

私はあなたがこのようなものを探していると思います:

interface Modal {
    content: string;
    form: string;
    href: string;
}

function doIt() {

    var modal = {
        content: '',
        form: '',
        href: ''
    }

    function setStuff(m : Modal) {
        m.content = 'some content';
        m.form = 'form1';
        m.href = '...';
    }

    function clear(m : Modal) {
        m.content = m.form = m.href = '';
    }

    function dump(m : Modal) {
        console.log('content: '+ m.content);
        console.log('form: '+ m.form);
        console.log('href: '+ m.href);
    }

    dump(modal);
    setStuff(modal);
    dump(modal);
    clear(modal);
    dump(modal);
}

modal変数が typeであることを宣言する必要がないことに注意してくださいModal。TypeScript はこの情報を自動的に推測します。関数に型を追加するだけで十分です。

ただし、必要に応じて、この型情報を変数に対して明示的にすることもできます。

var modal : Modal = {
    content: '',
    form: '',
    href: ''
}
于 2012-10-29T00:04:42.090 に答える