HyperTalk Operator Precedence Table

The table below shows the order of precedence of operators in HyperTalk. In a complex expression containing more than one operator, the operations indicated by operators with lower-numbered precedence will be performed before those with higher-numbered precedence. Operators of equal precedence are evaluated left-to-right, except for exponentiation, which goes right-to-left. If you use parentheses, the innermost parenthetical expression is evaluated first.

Order Operators Type of Operator
1 - Unary & ConditionalnotNegation for boolean values
there is aBoolean test for existence
there is anBoolean test for existence
there is not aBoolean test for existence
there is not anBoolean test for existence
Negation for numbers
2 - Exponentiation^Exponentiation for numbers
3 - MultiplicationdivDivision for numbers
modModulus for numbers
*Multiplication for numbers
/Division for numbers
4 - Addition+Addition for numbers
-Subtraction for numbers
5 - String Concatenation&Concatenation for strings
&&Concatenation for strings
6 - RelationalcontainsComparison for strings
is inComparison for strings
is not inComparison for strings
is not ofComparison for strings
is not withinBoolean test for point within rectangle
is ofComparison for strings
is withinBoolean test for point within rectangle
<Comparison for numbers or strings
<=Comparison for numbers or strings
>Comparison for numbers or strings
>=Comparison for numbers or strings
Comparison for numbers or strings
Comparison for numbers or strings
7 - Polymorphicis aComparison for types
is anComparison for types
is not aComparison for types
is not anComparison for types
8 - EquivalenceisComparison for numbers or strings
is notComparison for numbers or strings
<>Comparison for numbers or strings
=Comparison for numbers or strings
Comparison for numbers or strings
9 - Boolean ANDandLogical AND for boolean values
10 - Boolean ORorLogical OR for boolean values