Beside ksh (all implementations), [[...]] is also supported by bash (since version 2.02) and zsh, but all three implementations are different and there are differences between each version of a same shell though the changes are generally backward compatible (a notable exception being bash's =~ operator that has been known to break a few scripts after a certain version when its behavior changed). [[...]] is not specified by POSIX, or Unix or Linux (LSB). It has been considered for inclusion a few times, but not included as the common functionality of it supported by the major shells is already covered by the [ command and the case-in-esac construct.
[[ ... ]] does know about == from the start and is equivalent to =1. A blunder of ksh's though (and is causing confusion and many bugs) is that the = and == are not an equality operator but a pattern matching operator (though the matching aspect can be disabled with quoting but with unclear rules that differ from shell to shell).
So unless you know what shell and minimum version of it your script will ever be interpreted by, it's probably safer to stick with the standard [ command.
1An exception: [[...]] was added to bash in version 2.02. Until 2.03 where it was changed, [[ x = '?' ]] would return true while [[ x == '?' ]] would return false. That is quoting did not prevent pattern matching when using the = operator in those versions, but did when using ==.