Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestion Backlog Slog, 4/3/2017 #14990

Closed
RyanCavanaugh opened this issue Apr 3, 2017 · 1 comment
Closed

Suggestion Backlog Slog, 4/3/2017 #14990

RyanCavanaugh opened this issue Apr 3, 2017 · 1 comment
Assignees
Labels
Design Notes Notes from our design meetings

Comments

@RyanCavanaugh
Copy link
Member

"Do crazy stuff while Mohamed is out" edition 👶

@RyanCavanaugh RyanCavanaugh added the Design Notes Notes from our design meetings label Apr 3, 2017
@RyanCavanaugh RyanCavanaugh self-assigned this Apr 3, 2017
@RyanCavanaugh
Copy link
Member Author

  • Suggestion: "safe navigation operator", i.e. x?.y #16 Safe Navigation operator
    • Not at stage 2 yet; behavior may differ
    • We have opinions on null and undefined coalescing
    • Ryan wants us to be ahead rather than behind on features
    • Not even in Babel yet?
    • Even stage 2 isn't safe (decorators!)
    • Start work at stage 2; stage 1 is too early
    • Let's wait until stage 2
  • Support proposed ES Next "::" bind operator #3508 ESNext 'bind' operator ::
    • Very important open questions on semantics, which may differ widely in behavior
      • Exact binding location is unclear
    • Wait for stage 2
  • Partial classes  #563 Partial classes
    • Sugar for existing syntax, sometimes
    • Not part of ES6
    • Trying to avoid new ES6 class features
    • We're not trying to reinvent C# as much as people like to pretend otherwise
    • The side effects of this with modern modules are simply bad
    • JavaScript has better compositional patterns available
    • 👎 hasn't happened by now, not going to
  • Allow enums of types other than number #1206 string enums
    • Everyone wants them
      • They're awesome
      • Come on
    • What about taking enums to TC39?
    • Sugar for what we can already do
    • We keep saying "Don't use namespace because modules are better" but then use namespaces for all would-be sugar features
    • Another sketch
 enum Foo {
    Red = "Red is my Favorite Color",
    Green = "Green is my Favorite color",
    Blue = "Blue!"
}

namespace Foo {
    export const Red: "Red" = "Robin";
    export type Red = typeof Red;
    export const Blue: "Blue" = "Bluebird";
    export type Blue = typeof Blue;
}
// "Robin" | "Bluebird"

type Foo = Foo.Red | Foo.Blue;

Out of time

@microsoft microsoft locked and limited conversation to collaborators Jun 21, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Design Notes Notes from our design meetings
Projects
None yet
Development

No branches or pull requests

1 participant