Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

scope d'un paramètre de constructeur

2 réponses
Avatar
unbewusst.sein
j'ai un constructeur:

function newObject(param){...}
le param est une Array()

dans mon constructeur j'ai une fonction d'initialisation :

this.init=function(){...}

est j'accède directement au "param" dans cette function, directement,
càd sans avoir fait :
this.param=param

est-ce "normal" ou j'ai eu un coup de bol ?

ou est-ce que la visibilité des paramètres d'entrée de mon constructeur
s'étend à toutes les functions définies dans le constructeur ?

ce qui devrait être le k, vu que "ça marche"...
--
Artaban de Médée

2 réponses

Avatar
Bruno Desthuilliers
j'ai un constructeur:

function newObject(param){...}
le param est une Array()

dans mon constructeur j'ai une fonction d'initialisation :

this.init=function(){...}

est j'accède directement au "param" dans cette function, directement,
càd sans avoir fait :
this.param=param

est-ce "normal" ou j'ai eu un coup de bol ?


C'est normal.

ou est-ce que la visibilité des paramètres d'entrée de mon constructeur
s'étend à toutes les functions définies dans le constructeur ?


Oui. Le constructeur est lui-même une fonction (c'est l'utilisation de
l'opérateur new qui le 'transforme' en constructeur), et ce sont les
règles normales qui s'appliquent, à savoir qu'une fonction imbriquée a
accès à l'espace de nommage de la fonction dans laquelle elle est définie.

ce qui devrait être le k, vu que "ça marche"...


Attention, mon expérience (certes limitée) de la programmation est que
le fait que ça semble fonctionner n'est en rien une garantie !-)

Avatar
unbewusst.sein
Bruno Desthuilliers wrote:


Attention, mon expérience (certes limitée) de la programmation est que
le fait que ça semble fonctionner n'est en rien une garantie !-)


Ben oui, merci, c'est bien pourquoi j'ai posé la question en paralant de
"bol" éventuel...

;-)

--
Artaban de Médée