Giter Club home page Giter Club logo

Comments (21)

munificent avatar munificent commented on May 14, 2024 1

Dart has had ?. and ?? for several years now. It's closed because it's done. :)

from sdk.

DartBot avatar DartBot commented on May 14, 2024

This comment was originally written by [email protected]


This was entered as a Defect in error, please change to Enhancement.

from sdk.

DartBot avatar DartBot commented on May 14, 2024

This comment was originally written by [email protected]


Removed Type-Defect label.
Added Type-Enhancement label.

from sdk.

DartBot avatar DartBot commented on May 14, 2024

This comment was originally written by [email protected]


Added Area-Language, Triaged labels.

from sdk.

gbracha avatar gbracha commented on May 14, 2024

Interesting idea. We'll think about it.


Set owner to @gbracha.

from sdk.

gbracha avatar gbracha commented on May 14, 2024

Issue #66 has been merged into this issue.

from sdk.

DartBot avatar DartBot commented on May 14, 2024

This comment was originally written by [email protected]


A replacement of || for null-checks would also be quite useful, as || now works only on booleans. C# uses ?? for this purpose.

foo = mightBeNull || default; //in JS

becomes

foo = mightBeNull ?? default; //in C# or hopefully future Dart?

from sdk.

DartBot avatar DartBot commented on May 14, 2024

This comment was originally written by [email protected]


+1 Dart really needs to copy CoffeeScript's existential as this is one of the biggest friction points I'm facing (moving from CoffeeScript).

Both these snippets are obvious, more readable, require less boilerplate and make it effortless to write safer code:

zip = lottery.drawWinner?().address?.zipcode;
foo = mightBeNull ?? default;

from sdk.

anders-sandholm avatar anders-sandholm commented on May 14, 2024

Added apr30-triage label.

from sdk.

anders-sandholm avatar anders-sandholm commented on May 14, 2024

Removed apr30-triage label.

from sdk.

anders-sandholm avatar anders-sandholm commented on May 14, 2024

Added triage1 label.

from sdk.

anders-sandholm avatar anders-sandholm commented on May 14, 2024

Added this to the Later milestone.
Removed triage1 label.

from sdk.

DartBot avatar DartBot commented on May 14, 2024

This comment was originally written by [email protected]


∃ and ∄ would be appropriate to use for this. As our current static keyboard layouts fail to provide a usable input mechanism for such symbols, an ascii alias might be usefull ;)

from sdk.

munificent avatar munificent commented on May 14, 2024

Issue #5630 has been merged into this issue.

from sdk.

DartBot avatar DartBot commented on May 14, 2024

This comment was originally written by [email protected]


How about making this more like as in Objective C where you can send messages to NIL that then will be ignored?

In case of chaining multiple messages send to a given object and objects returned thereof, each message sent to a NIL objects would return a NIL again so that the chained calls would not fail.

from sdk.

DartBot avatar DartBot commented on May 14, 2024

This comment was originally written by [email protected]


I like Obj-C approach as well but for ease of determining the source of errors, it may be a good idea to be explicit when it doesn't matter.

The existential operator is a convenient choice to opt-in for this.

from sdk.

DartBot avatar DartBot commented on May 14, 2024

This comment was originally written by [email protected]


I use in Javascript when recibe info in Json files with optative fields.

((student.preferences || {}).hobies || {}).bricollage

I prefer any sugar sintax not LISP (ie: without the intrusive parenthesis).

from sdk.

DartBot avatar DartBot commented on May 14, 2024

This comment was originally written by [email protected]


For the ease of discussion, I'll add that the ?? operator in C# is called the null-coalescing operator.

Here's an example I've used in C# where this operator has come in handy:

if ((stringMightBeNull ?? "").Length == 0) {
    // string is empty or null
}

from sdk.

sethladd avatar sethladd commented on May 14, 2024

I miss this from Ruby, fwiw.

from sdk.

sethladd avatar sethladd commented on May 14, 2024

Met with external customers today, and they asked for this, or something like it. They'd be fine with C#'s null-coalescing operator.

from sdk.

jhass avatar jhass commented on May 14, 2024

What happened to this? Why is it closed?

from sdk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.