类型错误-不是构造函数[重复]

Posted

技术标签:

【中文标题】类型错误-不是构造函数[重复]【英文标题】:Type Error - Is Not a Constructor [duplicate] 【发布时间】:2017-02-19 06:24:45 【问题描述】:

想要在 ES6 javascript 中实例化一个模块并转换为 ES5。我正在我的项目中设置一个新类,即 es6 / webpack。 我有 2 个文件: track.js 具有以下内容--

export default class Track 
  constructor() 
    this.o = ;
  

另一个是index.js——

import  Track  from './track';

const track = new Track();
console.log(track);

我正在尝试让控制台日志显示一个空对象。 相反,我得到—— 未捕获的 TypeError:_track.Track 不是构造函数

【问题讨论】:

从'./track'导入音轨 【参考方案1】:

您将Track 作为默认导出,因此您应该使用默认导入。改变

import  Track  from './track';

import Track from './track';

见What is "export default" in javascript?


当您执行import Track from './track' 时,您正在尝试访问未定义的导出对象(即Track 类)的Track 属性(因此它不是构造函数)。

【讨论】:

【参考方案2】:

问题在于您在index.js 中导入Track 的方式。您需要像这样导入:

import Track from './track';

或者在track.js你需要像这样导出它:

export Track

【讨论】:

以上是关于类型错误-不是构造函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

错误:类型不是 ES5/ES3 中的有效异步函数返回类型,因为它没有引用与 Promise 兼容的构造函数

c++ 错误:预期构造函数、析构函数或在“(”标记之前的类型转换

使用杰克逊的 JSON 反序列化:没有找到适合类型的构造函数 - 可以提供默认构造函数或注释构造函数 [重复]

处理类构造函数中的承诺错误[重复]

Java链式构造函数调用错误[重复]

默认构造函数是不是初始化内置类型?