Javascript for循环中的实例化-js
我想在“headers”数组中按标题实例化一列,如下所示: column.jsJavascript for循环中的实例化-js,javascript,Javascript,我想在“headers”数组中按标题实例化一列,如下所示: column.js class Column{ constructor(column_name){ this.name = column_name } } index.js const Column = require('./Column.js') let columns = [] console.log(headers) // ['Name', 'Address', 'Phone'] headers.fo
class Column{
constructor(column_name){
this.name = column_name
}
}
index.js
const Column = require('./Column.js')
let columns = []
console.log(headers) // ['Name', 'Address', 'Phone']
headers.forEach( function(header){
columns.push( new Column(`${header}`) )
})
console.log(columns) //[]
但是,当我检查Columns数组时,实际上没有列被实例化。不确定发生了什么或如何修复它。请尝试将其放在
列的下面类定义:
export default Column;
JS模块与Python模块不同,Python模块在最简单的调用中只允许导入整个文件的名称空间。相反,import
只允许您查看已显式导出的值,有时您会发现自己进一步缩小了范围。查看文档:
在这种情况下,您应该看到TypeError:Column不是构造函数
,这为您提供了检查在同一文件中定义Column
时会发生什么情况的线索(另一个用户指出了这一点).这看起来在很大程度上取决于头
数组中的内容。我猜头
是空的(很确定这也是Pointy的猜测)。这证实了代码是有效的,所以一定是上面注释中描述的问题,或者是您没有显示的其他代码。代码应该有效,请参阅检查您的要求('./列'))//顺便说一句,这里不需要.js
@hinok有比发布屏幕截图更好的显示代码的方法:P