== operator is not equivalent to equals() function

Operation a == b is translated to a?.equals(b) ?: (b === null)

Exceptions are:

  • Float and Double types follow IEEE 754 semantic: floating-point-numbers-equality
  • Expressions using values of dynamic type are translated to JavaScript “as is”, and do not use the Kotlin operator conventions.