Typumwandlung bei losem Gleichheitsvergleich
Diese Warnkategorie wird von qmllint als „ [equality-type-coercion] “ bezeichnet.
Typumwandlung bei lockeren Gleichheitsvergleichen
Was ist passiert?
Zwei Werte wurden mithilfe der Operatoren für lockere Gleichheitsvergleiche auf Gleichheit verglichen.
Warum ist das problematisch?
Die Operatoren für lockere Gleichheitsvergleiche können Werte vor der Überprüfung auf Gleichheit in einen anderen Typ umwandeln. Dies kann zu unerwarteten Ergebnissen führen.
Beispiel
Hier ist ein Beispiel mit einer Liste von Rechtecken und einem „ TextInput “. Wenn der Benutzer eine Zahl eingibt, wird das Rechteck an diesem Index hervorgehoben. Der Code weist einen Fehler auf. Ist die Eingabe leer, wird das erste Rechteck rot hervorgehoben, da „“ == 0 ist.
import QtQuick
Item {
TextInput {
id: input
}
Repeater {
model: 3
Rectangle {
// first rectangle is red on empty input
color: input.text == index ? "red" : "blue"
}
}
}Verwenden Sie generell die strengen Vergleichsoperatoren ` === ` und ` !==`. Selbst wenn Sie sich der Typumwandlung bewusst sind, wird dennoch empfohlen, stattdessen explizite Typumwandlungen und strenge Vergleiche zu verwenden.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.