1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-arkcompiler_ets_frontend

 / Детали:

[Ошибка]: Улучшение диагностических сообщений компилятора: typeof только в контексте выражений и...

Предстоит сделать
Владелец
Создано  
25.05.2025

отсутствие instanceof с типами

Что произошло?

  • typeof может использоваться только в контексте выражений (arkts-no-type-query)
  • instanceof не может использоваться с типами (arkts-instanceof-ref-types)

Кулинарная книга указывает, что в ArkTS следующие два случая не поддерживаются, в то время как они поддерживаются в TS.

class X {
// ...
}
let a = (new X()) instanceof Object // true
let b = (new X()) instanceof X // true
let c = X instanceof Object // Ошибка компиляции, левый операнд — это тип
let d = X instanceof X // Ошибка компиляции, левый операнд — это тип
let n1 = 42
let s1 = "foo"
console.log(typeof n1) // "number"
console.log(typeof s1) // "string"
let n2: typeof n1
let s2: typeof s1

Какое ожидаемое поведение?

выбросить ошибку компиляции (CTE)

Как воспроизвести эту ошибку?

используя приведенные примеры

Дополнительная информация

Информация о версии или ветке

  • master
  • 5.1-Release
  • 5.0-Release
  • 5.0-Beta1
  • Release 4.1
  • Release 4.0
  • Release 3.2

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
bug
label.
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/openharmony-arkcompiler_ets_frontend.git
git@api.gitlife.ru:oschina-mirror/openharmony-arkcompiler_ets_frontend.git
oschina-mirror
openharmony-arkcompiler_ets_frontend
openharmony-arkcompiler_ets_frontend