Object Types
function printFullName(person: { firstName: string; lastName: string }) {
console.log("Full Name: " + person.firstName + " " + person.lastName);
}
printFullName({ firstName: "John", lastName: "Doe" });
Optional Properties
Look at the ? beside lastName
function printFullName(person: { firstName: string; lastName?: string }) {
const fullName = `${person.firstName} ${person.lastName}`;
console.log("Full Name: " + fullName.trim());
}
printFullName({ firstName: "John", lastName: "Doe" });
printFullName({ firstName: "Alice" });
Optional properties are nullish.
'person.lastName' is possibly 'undefined' here
function printNamesUppercase(person: { firstName: string; lastName?: string }) {
console.log(person.firstName.toUpperCase());
console.log(person.lastName.toUpperCase());
}
printNamesUppercase({ firstName: "John", lastName: "Doe" });
printNamesUppercase({ firstName: "Alice" });