-
Notifications
You must be signed in to change notification settings - Fork 13k
Open
Labels
In DiscussionNot yet reached consensusNot yet reached consensusSuggestionAn idea for TypeScriptAn idea for TypeScript
Description
Search Terms
type "arguments" object parameters
Suggestion
Within a function x
, the type of the arguments
object should be Parameters<typeof x> & IArguments
, with undefined
removed from the type of any entries in Parameters<typeof x>
if that parameter has a default value.
Use Cases
class A {
fn(it: number) { return true; }
}
class B extends A {
fn(it: number) {
// this shouldn't error, because arguments must be at least length 1.
// instead we get ERROR: Expected 1 arguments, but got 0 or more.
return super.fn(...arguments);
}
}
Checklist
My suggestion meets these guidelines:
- [?] This wouldn't be a breaking change in existing TypeScript/JavaScript code
- This wouldn't change the runtime behavior of existing JavaScript code
- This could be implemented without emitting different JS based on the types of the expressions
- This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
- This feature would agree with the rest of TypeScript's Design Goals.
ElianCordoba, johan13, bb010g, shadow-light, Rudxain and 1 more
Metadata
Metadata
Assignees
Labels
In DiscussionNot yet reached consensusNot yet reached consensusSuggestionAn idea for TypeScriptAn idea for TypeScript