Bil*_*Tom 2 javascript transpiler typescript
我在TypeScript中编写了以下函数
function initializeTasksPerUserJSON(task)
{
const tasksPerUser = {
'username': task.mantisUsername,
'duration_minutes': task.mantisBugNoteDurationSum,
'categories': {
[task.mantisBugCategoryName]: initializeTaskCategoriesJSON(task)
}
};
return tasksPerUser;
}
Run Code Online (Sandbox Code Playgroud)
这转化为以下JavaScript
function initializeTasksPerUserJSON(task) {
var tasksPerUser = {
'username': task.mantisUsername,
'duration_minutes': task.mantisBugNoteDurationSum,
'categories': (_a = {},
_a[task.mantisBugCategoryName] = initializeTaskCategoriesJSON(task),
_a
)
};
return tasksPerUser;
var _a;
}
Run Code Online (Sandbox Code Playgroud)
我不明白var _a;返回语句应该完成什么.这对我来说似乎没有意义,因为该行永远不会被执行.这是TypeScript中的错误,还是有更深层的含义?
我正在使用没有任何编译器标志的tsc版本1.8.10.
它不是一个bug,这只是变量提升.每个var声明都会转到函数的顶部.你Javascript将等同于此.
function initializeTasksPerUserJSON(task) {
var _a; // See here
var tasksPerUser;
tasksPerUser = {
'username': task.mantisUsername,
'duration_minutes': task.mantisBugNoteDurationSum,
'categories': (_a = {},
_a[task.mantisBugCategoryName] = initializeTaskCategoriesJSON(task),
_a
)
};
return tasksPerUser;
}
Run Code Online (Sandbox Code Playgroud)
你也可以看到这个.
| 归档时间: |
|
| 查看次数: |
504 次 |
| 最近记录: |