Déclaration de variable à portée de bloc
Cette catégorie d'avertissement est orthographiée « [block-scope-var-declaration] » par qmllint.
Une variable a été déclarée avec « var » à l’intérieur d’un bloc
Que s'est-il passé ?
Une variable JavaScript a été déclarée avec « var » à l'intérieur d'une portée de bloc, par exemple dans le corps d'une boucle « while ». Bien qu'il puisse sembler que la variable ne soit utilisable qu'à l'intérieur de cette portée, elle est en réalité accessible en dehors de celle-ci, car elle est « hoistée » vers la portée de la fonction la plus interne ou de la liaison QML.
Pourquoi est-ce problématique ?
Il peut être difficile de suivre la portée d'une telle variable, et celle-ci risque de masquer accidentellement d'autres variables.
Exemple
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
}
}Pour corriger cet avertissement, utilisez plutôt `let` ou `const`, ou déclarez la variable directement dans la portée de la fonction.
© 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.