The keyword extends
can be used for interfaces and classes only.
If you just want to declare a type that has additional properties, you can use intersection type:
type UserEvent = Event & {UserId: string}
UPDATE for TypeScript 2.2, it’s now possible to have an interface that extends object-like type, if the type satisfies some restrictions:
type Event = { name: string; dateCreated: string; type: string; } interface UserEvent extends Event { UserId: string; }
It does not work the other way round – UserEvent
must be declared as interface, not a type
if you want to use extends
syntax.
And it’s still impossible to use extend
with arbitrary types – for example, it does not work if Event
is a type parameter without any constraints.
Related Posts:
- What is TypeScript and why would I use it in place of JavaScript? [closed]
- ES6 Map in Typescript
- Can’t bind to ‘ngModel’ since it isn’t a known property of ‘input’
- How to define type for a function callback (as any function type, not universal any) used in a method parameter
- TypeScript foreach return [duplicate]
- TypeScript React.FC
confusion - How to perform string interpolation in TypeScript?
- Angular: mat-form-field must contain a MatFormFieldControl
- (change) vs (ngModelChange) in angular
- Typescript : Property does not exist on type ‘object’
- Angular ForEach in Angular4/Typescript?
- Angular4 – No value accessor for form control
- No overload matches this call. Type ‘string’ is not assignable to type ‘Signals’
- RegExp in TypeScript
- How do you format a Date/Time in TypeScript?
- npm WARN … requires a peer of … but none is installed. You must install peer dependencies yourself
- What is ViewChild in Angular2?
- How do I check whether an array contains a string in TypeScript?
- Uncaught ReferenceError: define is not defined typescript
- String.Format not work in TypeScript
- declaration or statement expected javascript/typescript
- TypeError: Class extends value undefined is not a function or null
- Can’t perform a React state update on an unmounted component
- Angular 4 setTimeout() with variable delay and wait
- How do I download a file with Angular2 or greater
- typescript – cloning object
- Angular 2 Sort table columns
- How do I install Angular 2 using NPM?
- How can I generate a rainbow circle using HTML5 canvas?
- What’s the difference between “{}” and “[]” while declaring a JavaScript array?
- What does “javascript:void(0)” mean?
- For-each over an array in JavaScript
- How to delete a cookie?
- How do you use the ? : (conditional) operator in JavaScript?
- Which equals operator (== vs ===) should be used in JavaScript comparisons?
- are there dictionaries in javascript like python?
- How to do associative array/hashing in JavaScript
- How to make a discord bot create an invite for every server it joins?
- addEventListener vs onclick
- “Uncaught SyntaxError: Cannot use import statement outside a module” when importing ECMAScript 6
- How do I check if an array includes a value in JavaScript?
- JavaScript document.getElementById().value logs empty value
- How do I color a hexagonal grid such that it doesn’t have neighbors of the same color?
- How to format a JavaScript date
- What does href expression do?
- map function for objects (instead of arrays)
- Wait 5 seconds before executing next line
- Failed to load resource: the server responded with a status of 404 (Not Found)
- How to check whether a string contains a substring in JavaScript?
- Check if a string has a certain piece of text [duplicate]
- Kadane’s algorithm explained
- What is console.log?
- Dynamically creating charts of each row in an HTML table with chart.js
- Failed to load resource: the server responded with a status of 404 (Not Found)
- How to convert a string to an integer in JavaScript?
- Maximum call stack size exceeded error
- How to change CSS using jQuery?
- How to properly use jsPDF library
- Can’t bind to ‘ngModel’ since it isn’t a known property of ‘input’
- How to reload a page using JavaScript
- How can I do string interpolation in JavaScript?
- Can I use complex HTML with Twitter Bootstrap’s Tooltip?
- Start script missing error when running npm start
- How do I redirect to another webpage?
- How to round to at most 2 decimal places, if necessary?
- What is VanillaJS?
- Invariant Violation: Objects are not valid as a React child
- How do I make the first letter of a string uppercase in JavaScript?
- How to handle Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause()
- window.location.href and window.open () methods in JavaScript
- Invariant Violation: Objects are not valid as a React child
- What’s the difference between using “let” and “var”?
- Angular: conditional class with *ngClass
- How do I make the first letter of a string uppercase in JavaScript?
- Loop through an array in JavaScript
- How to format a JavaScript date
- What does this symbol () => mean in Javascript? [duplicate]
- How do I redirect to another webpage?
- Google reCAPTCHA V3.0 not working. “ERROR for site owner: Invalid key type”
- How to round to at most 2 decimal places, if necessary?
- Google Chrome Uncaught (in promise) DOMException while playing AUDIO
- Define a global variable in a JavaScript function
- “SyntaxError: Unexpected token < in JSON at position 0"
- How to add a class to a given element?
- Javascript split regex question
- Cross-Origin Read Blocking (CORB)
- What is Virtual DOM?
- How can I remove a specific item from an array?
- How can a Discord bot create a hyperlink in a Discord message in an embed or in general? [closed]
- Find object by id in an array of JavaScript objects
- jQuery append() vs appendChild()
- How can I access and process nested objects, arrays or JSON?
- How to you store data for each discord user in the discord server?
- How to get all place details from a Place Details Request using Google Places API Web Service?
- How to make a word underline in Markdown
- Cannot set property ‘innerHTML’ of null
- Creating multiline strings in JavaScript
- How to replace innerHTML of a div using jQuery?
- SyntaxError: Unexpected token o in JSON at position 1
- Uncaught ReferenceError: $ is not defined?