13af6ab5fSopenharmony_ci# ``instanceof`` operator is partially supported 23af6ab5fSopenharmony_ci 33af6ab5fSopenharmony_ciRule ``arkts-instanceof-ref-types`` 43af6ab5fSopenharmony_ci 53af6ab5fSopenharmony_ci**Severity: error** 63af6ab5fSopenharmony_ci 73af6ab5fSopenharmony_ciIn TypeScript, the left-hand side of an ``instanceof`` expression must be of the type 83af6ab5fSopenharmony_ci``any``, an object type or a type parameter; the result is ``false`` otherwise. 93af6ab5fSopenharmony_ciIn ArkTS, the left-hand side expression may be of any reference type; 103af6ab5fSopenharmony_cia compile-time error occurs otherwise. In addition, the left operand in ArkTS 113af6ab5fSopenharmony_cicannot be a type. 123af6ab5fSopenharmony_ci 133af6ab5fSopenharmony_ci 143af6ab5fSopenharmony_ci## TypeScript 153af6ab5fSopenharmony_ci 163af6ab5fSopenharmony_ci 173af6ab5fSopenharmony_ci``` 183af6ab5fSopenharmony_ci 193af6ab5fSopenharmony_ci class X { 203af6ab5fSopenharmony_ci // ... 213af6ab5fSopenharmony_ci } 223af6ab5fSopenharmony_ci 233af6ab5fSopenharmony_ci let a = (new X()) instanceof Object // true 243af6ab5fSopenharmony_ci let b = (new X()) instanceof X // true 253af6ab5fSopenharmony_ci 263af6ab5fSopenharmony_ci let c = X instanceof Object // true, left operand is a type 273af6ab5fSopenharmony_ci let d = X instanceof X // false, left operand is a type 283af6ab5fSopenharmony_ci 293af6ab5fSopenharmony_ci``` 303af6ab5fSopenharmony_ci 313af6ab5fSopenharmony_ci## ArkTS 323af6ab5fSopenharmony_ci 333af6ab5fSopenharmony_ci 343af6ab5fSopenharmony_ci``` 353af6ab5fSopenharmony_ci 363af6ab5fSopenharmony_ci class X { 373af6ab5fSopenharmony_ci // ... 383af6ab5fSopenharmony_ci } 393af6ab5fSopenharmony_ci 403af6ab5fSopenharmony_ci let a = (new X()) instanceof Object // true 413af6ab5fSopenharmony_ci let b = (new X()) instanceof X // true 423af6ab5fSopenharmony_ci 433af6ab5fSopenharmony_ci let c = X instanceof Object // Compile-time error, left operand is a type 443af6ab5fSopenharmony_ci let d = X instanceof X // Compile-time error, left operand is a type 453af6ab5fSopenharmony_ci 463af6ab5fSopenharmony_ci``` 473af6ab5fSopenharmony_ci 483af6ab5fSopenharmony_ci 49