How do optional properties work in TypeScript? | LetsGit.IT