Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Regarding the same code example

> You may have noticed that the code above isn’t even JavaScript, it’s TypeScript, which brings me to my next point.

Which kind of invalidates the entire premise of the article.



I agree that the writer shouldn't have used TypeScript to demonstrate JavaScript; but to be fair, the only thing you have to do to turn it into JS is remove the `as ConsignmentSetup` on the 4th line.


> the only thing you have to do to turn it into JS is remove the `as ConsignmentSetup`

Removing the cast means removing static typing. It might be a small change for this snippet, but at the project level, you'd need considerably more changes, and you'd lose type safety.


Not really, Typescript is mostly a superset of ES2015 and is compatible syntax wise.

It has almost no new "features" (apart from enums and namespaces, I think) and only contains a typing + visibility system and related syntax on top.

The only part that is not ES2015 in the given code example is the ' as ConsignmentSetup' cast.


By that definition C++ and C are the same languages. But everyone knows they aren't. And both C/C++ are statically typed languages! You can't just drop a static type system into a scripting language and claim it's an irrelevant difference!

I agree with the other posters - there are probably good defences of JavaScript that can be written, but writing an article about how great JavaScript is and then showing a code sample from a different language just reinforces the idea that JavaScript developers probably don't have much experience with other kinds of programming.


> Not really, Typescript is mostly a superset of ES2015 and is compatible syntax wise.

You could say that about C++ and C, but that's an entire different can of worms.

So why not give the example in JavaScript then? Arguing that JavaScript is "Good, Actually" and then showing examples of tools people have build to avoid using vanilla js because it lacks X or Y is actually an argument for js being "Not Good Enough".


AFAIK async functions aren't part of ES2015 either.


async functions are es2017 async generators are es2018 but both are supported in the latest version of node v10

http://node.green/#ES2017-features-async-functions

I had to look it up because i could've sworn async functions were es2015. The lines get blurry when things are implemented out of order.


async await are ES2017 though




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: