"JavaScript: The Definitive Guide" does go deeper, with thorough examples in all the topics mentioned in the index. It also provides examples of static types using Flow instead of TypeScript.
> In general, if a statement begins with (, [, /, +, or -, there is a chance that it could be interpreted as a continuation of the statement before, if semicolon isn`t provided.
While /, +, and - are rare in the beginning of the statement, ( and [ aren't.
From Feynman`s biography, on trying to separate the isotopes of uranium:
> It was such a shock to me to see that a committee of men (Oppenheimer, Compton, Tolman, Smyth, Urey, and Rabi) could present a whole lot of ideas, each one thinking of a new facet, while remembering what the other fella said, so that, at the end, the decision is made as to which idea was the best - summing it all up - without having to say it three times. These were very great men indeed.
The one difference I can see is how chatGPT optimises the code based on the instruction you provide, while Copilot could only complete the code in one way.
For instance I asked chatGPT to write a code for square root which it did using inbuilt Math.sqrt function. I instructed it to write without using inbuilt function which it did. However, no matter how many times I instructed it to avoid using Math.floor or Math.ceil, it was not taking any heed.
It`s a biography of Paul Dirac, considered one of the best physicists of the 20th century. The book elucidates his obscure life and his contribution to quantum physics while not being overly jargonistic.