In TypeScript there are several ways to declare a property with ...
In TypeScript there are several ways to declare a property with undefined value: adding | undefined in the
property type or using optional property syntax (? after its name). Use | undefined syntax when you want to be
explicit that an object has that property, in that case TypeScript compiler will not allow omitting it:
interface Person {
name: string;
address: string | undefined;
}
let John = { name: "John" }; // will not compile
let John = { name: "John", address: undefined }; // will compile, we want to be
explicit when person does not have home
Use optional property syntax for properties holding some additional information.
interface Person {
name: string;
pet?: string;
}
let John = { name: "John" }; // will compile
let John = { name: "John", pet: undefined }; // will compile, there is no pet like for
the object on previous line
let John = { name: "John", pet: "Benji" }; // will compile
Using | undefined for optional property is redundant, it can be omitted without change to the actual type. Still if
you want to force the property in the object consider using only | undefined without ?.
Noncompliant Code Example
interface Person {
name: string;
address? : string | undefined;
// Noncompliant, "?" should be removed
pet?: Animal | undefined; // Noncompliant, "undefined" should be removed
}
Compliant Solution
interface Person {
name: string;
address: string | undefined;
pet?: Animal;
}
When defining a type in TypeScript, we can specify that a property
is optional with a question mark after the name:
Or we can specify that a property may be undefined:
These two interfaces seem nearly identical. In either case,
accessing the property foo may return the value undefined. They
are subtly different, though, as evidenced by the fact that
TypeScript won¡¯t actually allow us to
assign InterfaceWithOptional to InterfaceWithUndefined:
TypeScript reports:
Type ¡®InterfaceWithOptional¡¯ is not assignable to type
¡®InterfaceWithUndefined¡¯.
Property ¡®foo¡¯ is optional in type ¡®InterfaceWithOptional¡¯ but
required in type ¡®InterfaceWithUndefined¡¯.ts(2322)
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- undefined
- undefined 46 101 47 154
- declare an empty variable javascript
- undefined 178 128 16 139
- undefined 167 71 139 47
- undefined 165 232 168 251
- in typescript there are several ways to declare a property with
- null vs undefined in typescript land basarat medium lt undefined gt
- undefined vn
- key difference null vs undefined in javascript
Related searches
- ways to market a product
- ways to get a loan
- best ways to finance a car
- ways to buy a car
- ways to purchase a car
- good ways to start a conclusion paragraph
- ways to promote a product
- ways to finance a car
- creative ways to finance a car
- ways to market a book
- creative ways to present a project
- ways to become a writer