Although functions in JavaScript are a kind of object, the typeof operator considers functions to be sufficiently different that they have their own return value.

I don't understand in what aspect the clause following that relates to the rest of the sentence. But, if I change that to in that, the sentence actually makes perfect sense.


Sufficiently ADJ that here works in the same way as so ADJ that or sufficiently ... [for SUBJ] to in order to what degree of 'difference' functions exhibit.

Functions are sufficiently different (from objects) that they have ... =
Functions are so different (from objects) that they have ... =
Functions are sufficiently different (from objects) to have ... =

If you say that they are sufficiently different in that you are saying something quite different: that functions are different enough to satisfy some need (which, presumably, has already been described). The in that clause describes some qualification or alternative description of that sufficiency; in this case it would a description of how they are sufficient, to wit, by having their own return values. In paraphrase:

Functions are different enough (from objects) to meet our need, because they have their own values.


"that" refers to the difference.

"in that" would change the causality in a subtle way.

"in that" implies that the difference is caused by having two return values.

"that" or "such that" implies that the two return values are required/caused by the difference.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.