Chaînage optionnel redondant
Cette catégorie d'avertissement est orthographiée « [redundant-optional-chaining] » par qmllint.
Chaînage optionnel redondant
Que s'est-il passé ?
Certaines recherches utilisent le chaînage optionnel alors que cela n'est pas nécessaire. Cela peut se produire lors de la recherche de valeurs d'énumération ou lors d'une recherche sur une base qui ne peut pas être de type « null » ou « undefined ».
Pourquoi est-ce un problème ?
Une recherche optionnelle nécessite une vérification à l’exécution, ce qui n’est pas le cas d’une recherche classique. Ces instructions supplémentaires ne peuvent pas toujours être identifiées comme redondantes et optimisées par les outils. Elles entraînent donc un surcoût en termes de performances d’exécution et alourdissent inutilement le programme.
De plus, cet avertissement peut indiquer que la recherche facultative a été effectuée sur la mauvaise base de la chaîne. Reportez-vous à la section suivante pour un exemple plus concret.
Exemple
// Main.qml
import QtQml
QtObject {
// Main will either be resolved and always work, or throw an exception or fail to compile
enum E { A, B, C }
property int i: Main?.A
// A url cannot be null or undefined
property url u: ""
property string s: u?.toString()
// Did you mean to make the second lookup optional?
property int i: Safe?.Unsafe.i
}Pour corriger ces avertissements, remplacez les recherches optionnelles redondantes par des recherches obligatoires :
© 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.