Beginner's TypeScript Section 18 exercises

Inheriting Interface Properties

Here we have a User, Post, and Comment that all share an id property:

interface User {
id: string;
firstName: string;
lastName: string;
interface Post {
id: string;
title: string;
body: string;
interface Comment {
id: string;
comment: string;


Loading exercise


0:00 In this exercise, we've got a bunch of duplicated interfaces where they all share this ID property. We've got User, Post, and Comment. We've got a bunch of tests down here to make sure that everything stays as it should be. If I remove title from here, then it's going to yell at me because this Post type is not equal to id:string; title:string; body:string.

0:25 Right from the off, this is like a refactor challenge. Your challenge is to make sure the tests continue to pass while getting rid of some of this duplication here. Ideally, we would find some way that User, Post, and Comment would inherit from an object which contained id:string. That's your challenge.