0

我一直在使用以下内容:

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

但是现在我已经开始使用 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 回答