Hello,

J'ai une incompréhension sur le code que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
export interface JobData {
  id: number | null;
  datas: any[];
  errorMsg: string | null;
}
 
export interface CurrentData {
  zone: JobData | null;
  price: JobData | null;
}
.............................................
 
 
export class truc {
 
    currentData: CurrentData = { zone: null, price: null };
 
    enqueue(utility: string, codeBarre: string, codeZone: string) {
 
        let workData: JobData = this.currentData[utility] as JobData;
        // to do....
}
Plus précisement je ne comprends ps cette ligne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
let workData: JobData = this.currentData[utility];
Les crochets : je sais juste que on accède à la valeur d'un objet en faisant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
let obj= {
  toto: "tutu"
};
 
let objValue = obj["toto];
Et qu'on peut définir une valeur d'une propriété à la volée avec la même notation :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
obj["myNewProp]= "titi"
De ce que je comprends dans ce code, on ajoute une propriété "utility" à l'objet littéral "currentdata" de type CurrentData sans lui définir de valeur et on dit à TypeScript que c'est un objet de type Jobdata ?
L e fonctionnement m'échappe

Merci