IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

l'objet Math est il particulier?


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Août 2011
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2011
    Messages : 112
    Points : 61
    Points
    61
    Par défaut l'objet Math est il particulier?
    Bonjour,
    D'une façon générale, quand on travaille sur un objet natif (String etc ...) ou pas (objet Object que l'on construit soi même),


    on l'instancie ... var mot = new String("bonjour");.
    on lui applique des propriétés ou des méthodes selon ce schéma... var propriete = mot.length;.

    Avec l'objet Math , apparemment on ne l'instancie pas on travaille directement sur lui
    c'est cela qui me semble étrange en tant que débutant.

    n'ai je rien pigé ou y a t il quand des cas où l'objet Math est instancié? travaille t on directement sur l'objet avec d'autres objets sans instanciation?

    merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Oui, l'objet Math est bien un objet particulier car contrairement aux autres objets natif, il n'est pas un constructeur. Tu ne peux donc pas créer d'instance et ses propriétés et méthodes peuvent être assimilées statiques, d'où les appels de la forme Math.methode donc sans notation de fonction pour l'objet.

    Pour info, il existe d'autres cas, par exemple avec la méthode now() de l'objet Date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var maintenant = Date.now()

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2009
    Messages : 132
    Points : 283
    Points
    283
    Par défaut
    Tu as tout à fait raison, on n'instancie pas d'objet Math, car Math n'est pas un constructeur, comme expliqué par exemple ICI.

    Les propriétés et les méthodes de Math sont "statiques" dans le sens où elles ne dépendent pas du contexte d'un objet particulier.

    Edit : grillé, ça m'apprendra à laisser l'onglet ouvert trop longtemps.

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    D'ailleurs cet objet a toujours fait tâche, vu qu'une convention de nommage très répandue chez les développeurs JS est de mettre une majuscule à la première lettre d'une variable seulement s'il s'agit d'un constructeur. Je me demande d'où vient cette drôle d'idée, à l'encontre de plein d'autres objets globaux comme document ou console...

Discussions similaires

  1. Liste d'objets, quel est la meilleure façon
    Par shirya dans le forum C++
    Réponses: 2
    Dernier message: 08/12/2005, 16h59
  2. erreur d'execution 3704, ...:objet n'est pas ouvert
    Par cari dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 29/11/2005, 15h44
  3. [C#]Quand mon objet axWebBrowser est-il supprimé ?
    Par Kcirtap dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/10/2005, 10h16
  4. VBA/xl/97 Msg L'objet n'est pas source d'événemt automation
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/09/2005, 12h48
  5. Comment tester qu'un objet String est bien initialisé
    Par Jones dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 17/09/2004, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo