At least, that is how several other jsonpath implementations implement this.
E.g. the expression $.[?(@.foo='bar')] fails to parse in jayway's JsonPath implementation. In the implementation here, = is used for assignment to the attribute and == is used to compare for equality.