gpt4 book ai didi

javascript - 无法获取属性值 'elementType' : object is null or undefined

转载 作者:搜寻专家 更新时间:2023-10-30 21:25:07 25 4
gpt4 key购买 nike

我在 TypeScript 文件中有以下代码:

define('myModule', [], function () {

var self = {
init: function () {
doSomething();
}
};

var dayNames:string[] = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];

function doSomething () {
var current = new Date();
var day = dayNames[current.getDay()];
}

return self;
});

但是它不能用 Visual Studio 2012/Web Essentials 2012 编译。

Compile Error. See error list for details tsc.js(19148, 13) Microsoft JScript runtime error: Unable to get value of the property 'elementType': object is null or undefined

奇怪的是,同样的代码似乎在 TypeScript playground 上编译得很好.我检查了 C:\Program Files (x86)\Microsoft SDKs\TypeScript\tsc.js 的版本,这是 CodePlex (0.8.3.0) 上的最新版本。

如果我注释掉以下行,它编译正常:

var day = dayNames[current.getDay()];

下面的代码块单独编译也能正常编译:

var dayNames:string[] = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];

function doSomething () {
var current = new Date();
var day = dayNames[current.getDay()];
}

那我做错了什么?

最佳答案

如果您将 dayNames 的定义移动到 self 声明之前,它可以正常编译,因此看起来您是在 doSomething() 之前调用 dayNames 已定义。

为什么会这样,以及为什么它没有生成更有用的编译器错误我不确定 - 我会把它归结为 TypeScript 仍然是 alpha 代码。您可能想在 CodePlex 上将其作为问题提出.

我注意到其他一些类似的例子。例如,如果您有一个类在同一个文件中扩展另一个类,则需要将基类放在第一位,否则编译器有时会失败。

关于javascript - 无法获取属性值 'elementType' : object is null or undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16298192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com