Variablendeklaration mit Blockgültigkeit
Diese Warnkategorie wird von qmllint als „ [block-scope-var-declaration] “ bezeichnet.
Eine Variable wurde mit „var“ innerhalb eines Blockbereichs deklariert
Was ist passiert?
Eine JavaScript-Variable wurde mit „var“ innerhalb eines Blockgültigkeitsbereichs deklariert, beispielsweise im Körper einer „while“-Schleife. Auch wenn es so aussieht, als sei die Variable nur innerhalb dieses Gültigkeitsbereichs verwendbar, kann tatsächlich auch außerhalb darauf zugegriffen werden, da sie in den Gültigkeitsbereich der innersten Funktion oder des innersten QML-Bindings angehoben wird.
Warum ist das problematisch?
Es kann verwirrend sein, den Geltungsbereich einer solchen Variablen nachzuverfolgen, und sie könnten versehentlich andere Variablen überschatten.
Beispiel
import QtQuick
Item {
id: root
property int count: 0
function countItems() {
let sum = 0
{
var count = root.children.length
sum += count
}
// ... more additions to sum
count = sum // modifies the function local variable, not root.count
}
}Um diese Warnung zu beheben, verwenden Sie stattdessen „let“ oder „const“ oder deklarieren Sie die Variable direkt im Funktionsgültigkeitsbereich.
© 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.