打字稿生产可达代码
问题描述:
我写了下面的功能打字稿打字稿生产可达代码
function initializeTasksPerUserJSON(task)
{
const tasksPerUser = {
'username': task.mantisUsername,
'duration_minutes': task.mantisBugNoteDurationSum,
'categories': {
[task.mantisBugCategoryName]: initializeTaskCategoriesJSON(task)
}
};
return tasksPerUser;
}
这transpiles以下的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;
}
我不明白return语句后var _a;
应该完成。这对我来说似乎是无稽之谈,因为这条线从未被执行过。这是TypeScript中的一个错误,还是对它有更深的含义?
我正在使用没有任何编译器标志的tsc版本1.8.10。
答
这是不是一个错误,这只是variable hoisting。每var
声明会到function.You 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;
}
您还可以看到this。
我不认为“翻译”是一个很好的术语。更像是“相当于”。人们可能最终会想,沿途还有另一个翻译记者 – Stilgar
翻译过,怎么翻译? – BillyTom
@BillyTom没有翻译,但相当。由发动机 –