
[英]How do I solve 'Property 'width' does not exist on type 'HTMLElement'.' when type checking Javascript (NOT Typescript) using // @ts-check in vscode?
[英]Why does property 'find' not exist on my array using // @ts-check on Javascript in VS Code? (2018, typescript 2.7x)
**更新
console.log(Array.isArray(primaryNumberFemales)); // true
我将其导出为:
export {
primaryNumberFemales,
};
**结束更新
我有一个看起来像这样的数组(当然是对象类型):
const primaryNumberFemales = [{
name: 'Sky',
number: 6,
duality: 'Yang',
complexity: 'Complex',
year: [1910,
1919,
1928,
1937,
1946,
1955,
1964,
1973,
1982,
1991,
2000,
2009,
2018,
],
},
{
name: 'Lake',
number: 7,
duality: 'Yin',
complexity: 'Simple',
year: [1911,
1920,
1929,
1938,
1947,
1956,
1965,
1974,
1983,
1992,
2001,
2010,
2019,
],
},
];
我要导入的:
import {
primaryNumberFemales,
} from './data';
并在导入后确认它是一个对象(因此,没有发生任何有趣的事情):
console.log(typeof primaryNumberFemales); // object
我想在VS Code 1.20.1中键入检查我的JS,所以添加:
// @ ts-check
现在使用下面的代码,对于find
每个实例,我在linter中都会遇到一个错误,该程序运行正常!:
return (gender === 'F') ? {
primaryNumber: (primaryNumberFemales.find(includesYearOfBirth) || {}).number,
typeOfExpression: (primaryNumberFemales.find(includesYearOfBirth) || {}).name,
} : {
primaryNumber: (primaryNumberMales.find(includesYearOfBirth) || {}).number,
typeOfExpression: (primaryNumberMales.find(includesYearOfBirth) || {}).name,
};
类型'{[x:string]:any;不存在属性'find'。 名称:字符串; 数字: 对偶性:字符串; 复杂度:字符串; 年:麻木...'。
我知道Array.prototype.find()是es6,并且过去不支持(以前在此发表过很多文章),但是现在绝对应该支持它。 我的代码有问题吗,还是某种错误? 谢谢!
如果我在脑海中解析代码,则在查看此表达式时:
import { primaryNumberFemales } from './data';
我想知道错误不在这里,因为您的模块没有导出该常量。 为了解决这个问题,我将使用export
关键字:
export const primaryNumberFemales = [{
name: 'Sky',
number: 6,
duality: 'Yang',
complexity: 'Complex',
year: [1910,
1919,
1928,
1937,
1946,
1955,
1964,
1973,
1982,
1991,
2000,
2009,
2018,
],
},
{
name: 'Lake',
number: 7,
duality: 'Yin',
complexity: 'Simple',
year: [1911,
1920,
1929,
1938,
1947,
1956,
1965,
1974,
1983,
1992,
2001,
2010,
2019,
],
},
];
如果通过编译器运行此示例,看起来似乎很高兴,那么我也可以使用Array.find
方法。 我已将编译器设置为以ES6
为目标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.