Javascript 如何将JS对象的JSLint属性始终指定为数组?

Javascript 如何将JS对象的JSLint属性始终指定为数组?,javascript,jslint,jshint,Javascript,Jslint,Jshint,编码后,我用JSLint检查代码。有时我忘记将属性设置为array,并将其作为对象写入。如何将对象的属性之一指定为数组,例如,我有一个JS对象: var writer = { name: 'Susan', surname: 'Gøgenheïm', books: [ { title: 'The Greatest Book Ever', year: 2001 }, { title: 'Ololo, I am',

编码后,我用JSLint检查代码。有时我忘记将属性设置为array,并将其作为对象写入。如何将对象的属性之一指定为数组,例如,我有一个JS对象:

var writer = {
   name: 'Susan',
   surname: 'Gøgenheïm',
   books: [
    {
       title: 'The Greatest Book Ever',
       year: 2001
    },
    {
        title: 'Ololo, I am',
        year: 2010
    }, ....
   ]
}
“books”字段必须始终是一个数组。即使它是一个简单的对象,如下所示:

var writer = {
   name: 'Susan',
   surname: 'Gøgenheïm',
   books: [{
       title: 'The Greatest Book Ever',
       year: 2001
    }]
}

我在这里没有找到任何指令

您不能像您尝试的那样使用JSlint进行类型检查。它用于检查代码的语法(以及漂亮的空格),并且由于您的语法在有数组定义或没有数组定义的情况下都是完全有效的,因此JSlint不会将其标记为错误


如果要确保类型安全,请查看

JSLint没有帮助,因为它不做任何类型检查。