Re:Currying in JavaScript
by chrisseaton on Sunday July 19, 2015 @07:53PM
(#9913328)
Can these typing algorithms not use the same transformation themselves to make sense of a call to get? I know there's a string there but it's literal.
[ Parent
| on HN ]
Re:Currying in JavaScript
by nothrabannosir on Sunday July 19, 2015 @08:09PM
(#9913376)
Absolutely! If enough people do this, the tooling might eventually adapt.
However, it's the kind of bet I wouldn't go long on. Today, TS automatically (and correctly) infers the type of objs.map(x => x.foo). I suppose the same holds true for flow. This is not hypothetical; try this in http://www.typescriptlang.org/Playground
var objects = [
{
id: 1,
name: "Foo"
},
{
id: 2,
name: "Bar"
}
];
var look_at_my_type = objects.map(x => x.id);
Note; this is 100% JS, just passed through a TS compiler.Check the type of look_at_my_type (e.g. start typing its name at the bottom, see what the popover says): number[].
Replace it by get('id') (with definition function get(name: string) { return x => x[name]; }), and the type becomes any[].