for循环中的实例化 - js

时间:2017-03-12 21:08:30

标签: 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.forEach( function(header){
   columns.push( new Column(`${header}`) )
})

console.log(columns) //[]

但是,当我检查columns数组时,实际上没有实例化Columns。不确定发生了什么或如何解决它。

1 个答案:

答案 0 :(得分:-1)

尝试将其置于Column类定义下面:

export default Column;

JS模块不像Python模块,它们在最简单的调用中只允许您导入整个文件的命名空间。相反,import只允许您查看已明确export的值,有时您会发现自己正在进一步缩小范围。查看文档:{​​{3}}

在这种情况下,您应该看到TypeError: Column is not a constructor,为您提供一个线索,以便检查在同一个文件中定义Column时会发生什么(这可以像其他用户指出的那样工作)