Comment by hunterb123

5 years ago

> If that’s the point, why are you telling people it’s JavaScript? You can make that point just fine without starting arguments.

First, I say it's JS because it is. Just as decorators are JS. By being an extension of JS it is JS. The two are mutually inclusive.

Second, I didn't want to start an argument, I wanted to call out the very wrong blog post, how it referenced React not JSX, how the spec is an extension of JS, explain the limitations, etc. Until now it was more of a debate. Now it's a bit more of a semantics debate unfortunately.

> But you are starting this stupid debate by telling people it’s JavaScript when it isn’t. If you are tired of people pointing this out when you call it JavaScript, why do you do it? There seems to be absolutely nothing to gain from that except “a stupid debate”.

Actually if you go up the comment chain you'll see I didn't start this debate. If you're tired, just don't participate.

> We are not talking about the value of JSX, merely whether it is JavaScript or not. JSX could cure cancer, but it still wouldn’t be JavaScript.

Oh but we are, again if you go up the comment chain, it's being compared to Svelte's template system, that's how it got brought up, and that's usually why this topic gets brought up. You don't have to create a whole template system. You just use nested functions. To use pretty brackets it needs a small extension of the spec. You don't have to come up with a loop system, a conditional system, etc.

> By being an extension of JS it is JS. The two are mutually inclusive.

This is absurd. If JSX were JavaScript, JavaScript wouldn’t need to be extended to include JSX. The whole point of it being an extension is that JavaScript doesn’t include it, therefore JSX extends it. If JSX were JavaScript, then JavaScript wouldn’t need to be extended. The two are mutually exclusive.

> > We are not talking about the value of JSX, merely whether it is JavaScript or not. JSX could cure cancer, but it still wouldn’t be JavaScript.

> Oh but we are, again if you go up the comment chain

In the context of “Is JSX JavaScript?”, the value of JSX is irrelevant. Whether JSX is useless, useful, or amazing makes zero difference to the question of whether JSX is JavaScript or not.

You can still go around telling people JSX is great. It doesn’t have to be JavaScript for you to do that. People telling you that it isn’t JavaScript aren’t telling you that it’s worthless. They are just telling you that it isn’t JavaScript.

  • Are decorators JS? Answer that question and I'll respond to the rest of your comment.

    We're talking in circles a bit so I'd like to drill that down first.

    • The reason you're going around in circles is because you keep insisting on repeating something that's not true.

      Again, at the risk of repeating the truth: "Repeating it over and over again does not make it true."

      There's no need to "drill down" or infinitely recurse on yourself: simply execute a "break;" and stop repeating things that aren't true, and your infinite "while" loop will terminate, and your function will finally "return;".

      Has JavaScript's fuzzy concept of "truthyness" has affected your brain, and you're just as confused about the basic concept of "equality" as Brendan Eich is about gay marriage and human rights?

      https://dorey.github.io/JavaScript-Equality-Table/

      Figuring out whether (JavaScript == JSX) || (JavaScript != JSX) isn't as tricky as deciding why (NaN == NaN) || (NaN != NaN). And using three equal signs instead of two isn't going to change the result.

      (I'm sorry this has to be repeated over and over again, but it IS objectively true that you're repeating things that aren't true over and over again, and that's not making them any more true.)

      So please repeat after me: JSX is not JavaScript. That's the truth, it's always going to be true no matter how many times you repeat the opposite, and it shouldn't have to be repeated.

      2 replies →