Versi TypeScript: 2.0.3 / malam (2.1.0-dev.201xxxxx)
Kode
// A *self-contained* demonstration of the problem follows...
const fn_prim = () => 3;
const fn_obj = () => {
val: 3
};
Perilaku yang diharapkan:
Saya berharap itu dapat dikompilasi dengan baik. fn_prim
harus mengembalikan 3 saat dipanggil, fn_obj
harus mengembalikan { val: 3 }
saat dipanggil.
Perilaku sebenarnya:
Kesalahan "Label tidak digunakan" pada val:
TypeScript mengikuti ES spec dan per spec contoh kedua Anda adalah fungsi panah di mana body adalah fungsi body yang dibungkus {
}
jadi val: 3
ditafsirkan sebagai pernyataan berlabel dengan label val
dan pernyataan ekspresi dengan ekspresi 3
. Untuk menjadikannya fungsi panah yang mengembalikan literal objek, Anda harus membungkusnya dengan parens:
const fn_obj = () => ({
val: 3
});
Tautan terkait: MDN: Fungsi panah , bagian Returning object literals
Komentar yang paling membantu
TypeScript mengikuti ES spec dan per spec contoh kedua Anda adalah fungsi panah di mana body adalah fungsi body yang dibungkus
{
}
jadival: 3
ditafsirkan sebagai pernyataan berlabel dengan labelval
dan pernyataan ekspresi dengan ekspresi3
. Untuk menjadikannya fungsi panah yang mengembalikan literal objek, Anda harus membungkusnya dengan parens:Tautan terkait: MDN: Fungsi panah , bagian
Returning object literals