1. Expressions
Jusqu'à présent, l'utilisation principale de JavaScript dans des fichiers QML était au
niveau d'expressions, c'est-à-dire des valeurs données aux propriétés, par exemple
pour copier le texte entré par l'utilisateur dans un champ. De manière générale, elles
peuvent s'écrire de manière identique à Python, à l'exception de l'exponentiation et des
connecteurs logiques.
2 + 4 * 8 - 2 // Opérations arithmétiques comme en Python
16 + Math.pow(9, 2) // L'exponentiation se fait avec la fonction
// pow(base, exposant), il n'y a pas d'opérateur
**
2 < 4 // Comparaisons comme en Python
8 != 9 && 81 == Math.pow(9, 2) // Les connecteurs logiques s'écrivent
// && pour and et || pour or
(2 < 4) == true // Aussi, les booléens s'écrivent true et false
// (au lieu de True et False avec Python)
true == ! false // La négation s'écrit ! (et non not)
Une expression peut aussi faire intervenir la valeur des propriétés d'éléments
identifiés. Dans ce cas, l'identifiant est séparé de la propriété par un point . — tout
comme l'accès aux membres d'un objet en Python. Par exemple, le chapitre
d'introduction montrait ceci :
TextField {
x: parent.width / 2 - width / 2
y: textField.y + 30
}
Tout comme Python, JavaScript propose d'écrire une condition sous la forme d'une
expression, avec la syntaxe d'un opérateur ternaire :
x = (a > 1) ? b : c // En Python, équivalent à x = b if a > 1 else c
Ces expressions peuvent également contenir des appels à des fonctions, qui s'écrivent
de la même manière qu'en Python, à l'exception que les paramètres nommés n'existent
pas. Certaines fonctions préprogrammées peuvent se révéler utiles, notamment pour
transformer le type d'une expression :
parseInt("42") // Convertit la chaîne de caractères donnée
// en nombre entier
parseInt("2a", 16) // Même opération en spécifiant la base
289
Jusqu'à présent, l'utilisation principale de JavaScript dans des fichiers QML était au
niveau d'expressions, c'est-à-dire des valeurs données aux propriétés, par exemple
pour copier le texte entré par l'utilisateur dans un champ. De manière générale, elles
peuvent s'écrire de manière identique à Python, à l'exception de l'exponentiation et des
connecteurs logiques.
2 + 4 * 8 - 2 // Opérations arithmétiques comme en Python
16 + Math.pow(9, 2) // L'exponentiation se fait avec la fonction
// pow(base, exposant), il n'y a pas d'opérateur
**
2 < 4 // Comparaisons comme en Python
8 != 9 && 81 == Math.pow(9, 2) // Les connecteurs logiques s'écrivent
// && pour and et || pour or
(2 < 4) == true // Aussi, les booléens s'écrivent true et false
// (au lieu de True et False avec Python)
true == ! false // La négation s'écrit ! (et non not)
Une expression peut aussi faire intervenir la valeur des propriétés d'éléments
identifiés. Dans ce cas, l'identifiant est séparé de la propriété par un point . — tout
comme l'accès aux membres d'un objet en Python. Par exemple, le chapitre
d'introduction montrait ceci :
TextField {
x: parent.width / 2 - width / 2
y: textField.y + 30
}
Tout comme Python, JavaScript propose d'écrire une condition sous la forme d'une
expression, avec la syntaxe d'un opérateur ternaire :
x = (a > 1) ? b : c // En Python, équivalent à x = b if a > 1 else c
Ces expressions peuvent également contenir des appels à des fonctions, qui s'écrivent
de la même manière qu'en Python, à l'exception que les paramètres nommés n'existent
pas. Certaines fonctions préprogrammées peuvent se révéler utiles, notamment pour
transformer le type d'une expression :
parseInt("42") // Convertit la chaîne de caractères donnée
// en nombre entier
parseInt("2a", 16) // Même opération en spécifiant la base
289
