3 ms·
But that logic falls apart with languages such as Rust, where a lot of expressions start with a keyword.
by Measter 4y ago
But that logic falls apart with languages such as Rust, where a lot of expressions start with a keyword.
- dtagames 4y agoAh. Was just thinking of JS/TS in this case. Good point.
- kgeist 4y agoSomething which was once a statement and started with a keyword can become an expression in a new version of a language. For example, in C# 7, throws were made into expressions to allow syntax like this: return a ? b : throw new Exception(); So I wouldn't rely on this rule.
- dtagames 4y agoOuch! I like to rely on the ternary operator as a cheat for if/then just as much as the next guy, but that qualifies as abuse, lol!
- kaoD 4y agoI wouldn't say that's abuse and I missed that many many times in JS/TS, for example on unreachable variants in tagged enums. This usually turns into null with a null check afterwards just to throw the exception, which is more verbose for no reason.