type UserPromise = Promise<{
id: number;
name: string;
}>;
type AwaitedUser = Awaited<UserPromise>;
async function User(): UserPromise {
return { id: 1, name: "Awaited type example" };
}
async function PrintUser() {
const user: AwaitedUser = await User();
console.log(user);
}
PrintUser(); // { id: 1, name: 'Awaited type example' }
ReadOnly
type User = {
name: string;
};
const user: User = {
name: "this is user",
};
user.name = "Can I change property?";
console.log(user); // Can I change property?
// μμ²λΌ μΌλ°μ μΌλ‘ μ μλ κ°μ²΄μ λν΄μλ νλ‘νΌν° λ³κ²½μ΄ κ°λ₯νλ€.
const user2: Readonly<User> = {
name: "this is user",
};
// Cannot assign to 'name' because it is a read-only property.
user.name = "Can I change property?";
console.log(user);