In terms of syntax, template expressions are similar to JavaScript. Many JavaScript expressions are legal template expressions, with a few exceptions. You can't use JavaScript expressions that have or promote side effects, including: Assignments (=, +=, -=, ...) Operators such as new, typeof, instanceof, etc. Chaining expressions with ; or , The increment and decrement operators ++ and -- Some of the ES2015+ operators Other notable differences from JavaScript syntax include: No support for the bitwise operators such as | and & New template expression operators, such as |, ?. and !