Skip to content

Parenthesise operators if necessary #16

@atg

Description

@atg

In Python the not operator has low precedence. In JS the ! operator has high precedence.

To be on the safe side, generators should wrap all operators in parens by default, and only remove them if the generator can prove there is no precedence/associativity issue. Otherwise you'll get issues with things like PHP's weird-ass left associative ternary operator.

Input (Python):

not 0.1 > 0.1

Expected output (JavaScript):

!(0.1 > 0.1)

Actual output (JavaScript):

!0.1 > 0.1

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions