JSDoc 仅描述对象值
JSDoc describe object values only
说我反对过:
const Companies = {Mazda : {revenue:50000, employees:1000},
Honda: {revenue: 102324, employees:2031}}
还有这个函数:
const totalRevenue = (companies) =>
Object.values(companies)
.map(companyObject => companyObject.revenue)
.reduce((total, companyRevenue)=> total + companyRevenue)
如何使用JSDoc来告诉函数
totalRevenue
companies
对象是一个对象,它具有的每个键都具有 {revenue: Number, employees: Number}
类型的值
我对 WebStorm 能够理解的东西特别感兴趣。
您可以使用 {Object.<string, number>}
符号描述对象中的每个键。在此处查看更多语法示例:http://usejsdoc.org/tags-type.html
针对您的具体情况:
/**
* @param {Object.<string, {revenue: number, employees: number}>} companies
*/
const totalRevenue = (companies) =>
Object.values(companies)
.map(companyObject => companyObject.revenue)
.reduce((total, companyRevenue)=> total + companyRevenue)
说我反对过:
const Companies = {Mazda : {revenue:50000, employees:1000},
Honda: {revenue: 102324, employees:2031}}
还有这个函数:
const totalRevenue = (companies) =>
Object.values(companies)
.map(companyObject => companyObject.revenue)
.reduce((total, companyRevenue)=> total + companyRevenue)
如何使用JSDoc来告诉函数
totalRevenue
companies
对象是一个对象,它具有的每个键都具有 {revenue: Number, employees: Number}
我对 WebStorm 能够理解的东西特别感兴趣。
您可以使用 {Object.<string, number>}
符号描述对象中的每个键。在此处查看更多语法示例:http://usejsdoc.org/tags-type.html
针对您的具体情况:
/**
* @param {Object.<string, {revenue: number, employees: number}>} companies
*/
const totalRevenue = (companies) =>
Object.values(companies)
.map(companyObject => companyObject.revenue)
.reduce((total, companyRevenue)=> total + companyRevenue)