变量显示为在Chrome调试器中具有值和未定义的值?

时间:2014-08-28 05:41:14

标签: javascript variables typescript undefined google-chrome-devtools

我有这个打字稿功能:

retrieve = () => {
        var url = "/api/Exam/Retrieve/" +
            this.configService.admin.examStatusId + "/" +
            this.configService.admin.examTypeId + "/" +
            this.userService.data.subjectId;
        this.home.retrieve(url)
    }

当我在这一行this.home.retrieve(url)上突破并将鼠标悬停在examStatusId和examTypeId以及subjectId上时,我会看到值1,1和1.

当我将鼠标悬停在网址上时,我会看到"/api/Exam/Retrieve/undefined/undefined/1"

这是我的控制台输出:

console.log(this.configService.admin.examStatusId)
1
undefined
console.log(url)
/api/Exam/Retrieve/undefined/undefined/1
undefined

有人可以在我看到的第二行解释为什么" 1"然后低于那个" undefined"在做一个console.log时为什么url有未定义?

问题已解决:

我的Typescript没有正确编译为Javascript。我正在调试Typescript,但它背后是旧的javascript!

1 个答案:

答案 0 :(得分:1)

第二行是console.log函数的返回值,由控制台为方便起见而打印(undefined因为没有返回值)。第一行是console.log的实际输出。