Recipes
›
Chapter 2: Basic Types
Annotating Effectively
Recipe 2.1 from
The TypeScript Cookbook
type Person = {
name: string;
age: number;
};
type Studying = {
semester: number;
};
type Student = {
id: string;
age: number;
semester: number;
};
function createPerson() {
return { name: "Stefan", age: 39, semester: 25, id: "XPA" };
}
function printPerson(person: Person) {
console.log(person.name, person.age);
}
function studyForAnotherSemester(student: Studying) {
student.semester++;
}
function isLongTimeStudent(student: Student) {
return student.age - student.semester / 2 > 30 && student.semester > 20;
}
const me = createPerson();
printPerson(me);
studyForAnotherSemester(me);
isLongTimeStudent(me);