Apprendre le JavaScript : Les classes

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 43

  • @aradradev_224
    @aradradev_224 Год назад +3

    Merci Grafikart, des cours sur data structures avec JS On en a vraiment besoin si vous feriez une serie sur ca ca serait super.

  • @Nuxi-tv
    @Nuxi-tv Год назад +3

    Ce cours merite des millions de views. Deja il est a jour par rapport a plusieurs autres cours en ligne et il est tres bien structure. Appuyer jaime et partager. Cest le moins quon puisse faire!!!!

    • @KonKhmer83228
      @KonKhmer83228 10 месяцев назад

      il a tellement des millions de vue que meme copilot la mise en memoire! des que je tape la premiere lettre copilote me complete

  • @Wisigoth31
    @Wisigoth31 Год назад +4

    Merci pour tout !
    Je note que dans cette nouvelle formation, vous utilisez désormais Edge...
    Amusant
    😊

  • @imeneimene7702
    @imeneimene7702 Год назад +1

    D'habitude je ne commente beaucoup mais vos tutoriels sont soigneusement préparés. Et votre voix narrative me rend beaucoup plus à l'aise et à mieux suivre d'une façon "Zen". Merci infiniment et bonne continuation. Une petite suggestion "playlist sur tailwind" si c possible.

    • @KonKhmer83228
      @KonKhmer83228 10 месяцев назад

      il est tellement zen et tellement lent que moi meme en pratiquant je comprend lq moitie, que c'est la ou tu comprend la differrence entre un junior et un senior

  • @nathantchuente7139
    @nathantchuente7139 Год назад

    Merci Graf! Toujours un plaisir.

  • @nabahatimane9143
    @nabahatimane9143 Год назад

    today i've understand how much im lucky because i can uderstand french thank you so much , you've done a very good job .

  • @kolatid8540
    @kolatid8540 27 дней назад

    Masterclass!

  • @nico77
    @nico77 2 года назад +2

    Merci pour la vidéo, elle est top !

  • @julgates8703
    @julgates8703 2 года назад +2

    Mike codeur a dit que pour REACT, les classes ne servaient plus et ce n'était plus nécessaire.
    C'est vraiment le cas, en tout cas, tes formations sont excellentes.

    • @e-genieclimatique
      @e-genieclimatique 2 года назад +3

      c'est les composant à classes qui ne servent plus à rien car c'est deprecated ou legacy code,grace aux HOOKS React, mais les classes servent toujours pour la programmation orientée objet en javascript natif et même si en 2022 on peut tout faire avec les fonctions

    • @grafikart
      @grafikart  2 года назад +4

      Elles servent encore dans react mais leur usage est très limité (on en aura besoin pour les ErrorBoundary (reactjs.org/docs/error-boundaries.html) qui n'ont pas de syntaxe alternative à l'heure actuelle.
      Sinon, elle peuvent servir à décrire la logique de certains types complexes même dans du code react donc je ne ferais pas l'impasse sur cette notion personnellement.

    • @julgates8703
      @julgates8703 2 года назад +1

      @@grafikart Merci beaucoup les informations 👍🏼,
      Je pense aussi que c'est nécessaire mais certains bootcamp, les formateurs zap cette partie pour REACT 😖.
      Moi je suis tes formations et j'ai pu acquérir les bases dans les bonnes conditions.

    • @julgates8703
      @julgates8703 2 года назад +1

      @@e-genieclimatique Merci pour les informations 🙂👍🏼.

  • @tototata7166
    @tototata7166 4 месяца назад

    Très bon tuto.
    On peut faire des "attributs" de classe et privé mais est-ce qu'il y a une façon de déclarer des attributs "protected" ?

  • @MrJohAA
    @MrJohAA Год назад +1

    Questions : avec angular, vue, react et autres, qui utilisent vraiment les classes ?
    Les langages sont au final relativement compliquée et les frameworks permettent de les rendre accessibles pour tous.
    Dans quel contexte peut-on réellement être amené à utiliser des classes en Javascript ?

    • @Esteban-x-
      @Esteban-x- 10 месяцев назад

      Tu utilisera des systèmes de "classe" avec des extends etc même si ils ne s'appeleront pas toujours classes mais les principes de cette vidéo vont quand meme bien t'aider pour les différents framework que tu as cité

  • @k2c-web43
    @k2c-web43 2 года назад +4

    C'est pas une belle marge de progression pour Jane mais une belle courbe :p

  • @_Greenflag_
    @_Greenflag_ Год назад

    A noter une petite exception dont je n'étais pas au courant et qui m'a fait croire en un bug en Javascript : dans la console de Chrome, votre instance peut avoir accès à un 'private field' alors que justement il ne devrait pas avoir accès. A 24:30 avec john.#secret (tu utilises Edge d'ailleurs donc tu n'as pas accès)
    "Code run in the Chrome console can access private properties outside the class. This is a DevTools-only relaxation of the JavaScript syntax restriction."

  • @AdamaSermin
    @AdamaSermin Год назад

    Bonjour et merci pour vos tutos genial mais s'il vous plait j'ai pas bien assimiler la notion de getter et setter

  • @_Greenflag_
    @_Greenflag_ 2 года назад

    Quand est il préférable d'utiliser des classes plutôt que des fonctions ? Je peux aussi optimiser les choses et empêcher la répétition (DRY) avec des fonctions... Je sais que la classe représente un modèle répétable à l'envi.

    • @grafikart
      @grafikart  2 года назад +7

      Ce n'est pas forcément un choix super évident. Mais perso j'utilise les classes pour représenter un "type" / "concept" sur lequel je souhaite appliquer plusieurs méthodes dessus (par exemple Date, Interval, Shape, User...).

    • @Gorille_Bleu
      @Gorille_Bleu 2 года назад

      @@grafikart C'est ça qui est compliqué à comprendre. En soit le concept de classe est simple mais savoir quand les utiliser, sachant que en quelque sorte on peut se débrouiller sans, est assez compliqué.
      Je suis revenu sur cette vidéo après le TP sur les commentaires car j'avais trouve une solution sans l'utilisation de classes

  • @melidas9387
    @melidas9387 Год назад

    Hello, à 21 minutes je ne comprends pas d'où vient le "super" ? On l'a déclaré nul part mais il est quand même connu ? Sinon merci pour tes cours !

    • @grafikart
      @grafikart  Год назад

      super est un mot clef dédié en JavaScript donc il vient de nul part.

  • @Greg-dn5rt
    @Greg-dn5rt 2 года назад

    Bonjour. S'il te plaît du coup école c'est quoi exactement? Une variable ? Pourquoi ne l'avoir pas faite précedée du mot clé habituel. Et aussi est ce qu'il est obligatoire de la mettre ? Pareille pour la seconde après. Merci d'avance. C'est super ce que tu fais 🤏🏾

    • @nicolaso42
      @nicolaso42 2 года назад +1

      Bonjour, pour distinguer les variables sens strict et celles appartenant a un objet on les appellera plutôt propriétés (ou attributs) , pas besoin du mot clé var ou let.
      De la même façon les fonctions a l'intérieur d'un objet on les appellera plutôt des "méthodes" et n'ont pas besoin en js du mot clé "function".

    • @grafikart
      @grafikart  2 года назад +3

      C'est une notation spécifique dans les classes (j'aurais peut être du détaillé). Tu peux voir ça comme un this.ecole = '...', la propriété se retrouvera automatiquement sur l'objet construit à partir de cette classe.

    • @Greg-dn5rt
      @Greg-dn5rt 2 года назад

      @@nicolaso42 Ah ok merci

    • @Greg-dn5rt
      @Greg-dn5rt 2 года назад

      @@grafikart merci beaucoup ( :

  • @command_maker6
    @command_maker6 2 года назад

    Salut je n’arrive pas à comprendre le système de prototype de js en gros c’est la forme de base d’un objet c’est ça ?

    • @grafikart
      @grafikart  2 года назад

      Oui on peut voir ça comme ça.

    • @command_maker6
      @command_maker6 2 года назад

      @Rico Martini merci de l’explication

  • @medousamarahal
    @medousamarahal Год назад

    bonjour j'ai pas trouvé la solution svp
    class etudiant{
    ecole='jull fery'
    constructor(nom,prenom){
    this.nom=nom
    this.prenom=prenom
    }
    moyeleve (notes) {
    let som=0
    for(let note of notes){
    som=som+note
    }
    return som/notes.length
    }
    setnote(notes){
    this.notes=notes
    }

    canpass(){
    return moyeleve(this.notes)>=10
    }
    }
    const jhon=new etudiant('jhon','rahal')
    const jame=new etudiant('jame','rhal')
    jhon.setnote([10,15,10])
    console.log(jhon.canpass())
    voila l'erreur affiche:
    les classes.js:22 Uncaught ReferenceError: moyeleve is not defined
    at etudiant.canpass (les classes.js:22:4)
    at les classes.js:28:18

  • @VincentEkdev
    @VincentEkdev 6 месяцев назад

    merci pour ce tuto, cependant j'ai beau demander a chatgpt, je ne comprend pas...l'utilité meme de this. et pourquoi les fonction dans les class s'apelle des méthodes... ca ma vraiment embrouiller durant le visionnage... je me suis perdu...

    • @devJudicael
      @devJudicael 6 месяцев назад

      hey , le this à l'intérieur de constructor fait référence à l'objet qui sera crée à partir de la class , d'où la notation par point ( ex this.firstname ) quand aux méthodes c'est bel et bien des fonctions mais des fonctions spécifiques aux objets qui seront les instances de la class / des fonctions applicables seulement aux instances de la class
      espérant que ça te permettra d'y voir plus clair🙂

  • @emmanuelchrisso2220
    @emmanuelchrisso2220 Год назад

    Question : finalement c'est quoi un prototype?

    • @massikage
      @massikage 9 месяцев назад +1

      D'après ce que j'ai compris, Prototype est comme une class parente (ou supérieure) qui a des méthodes natives à lui
      "Student extends Prototype", tel que "superStudent extends Student"
      En résumé, superStudent extends Student extends Prototype

    • @massikage
      @massikage 9 месяцев назад

      D'après ce que j'ai compris, Prototype est comme une class parente (ou supérieure) qui a des méthodes natives à lui
      "Student extends Prototype", tel que "superStudent extends Student"
      En résumé, superStudent extends Student extends Prototype

  • @mussabarry2
    @mussabarry2 Год назад

    cool

    • @mussabarry2
      @mussabarry2 Год назад

      / Q1
      // Supprimez le premier et le dernier élément du tableau `bornesIncendie`.
      // Après ces suppressions, la taille de `bornesIncendie` est de 3774.
      bornesIncendie.shift();
      // Q2
      // Affichez dans la console le nombre de bornes à incendie présentes
      // au sein de la commune dénommée `LES PONTS-DE-CE`.
      let nb=0;
      for (let i of bornesIncendie)
      {
      if (i.commune=='LES PONTS-DE-CE')
      nb++;
      }
      console.log(nb);
      // Q3
      // Créez un tableau contenant un code, créé sur mesure, pour chaque borne.
      // Le code sera composé des 3 premières lettres de la commune
      // suivies d'un tiret et du numéro pompier (`num_pompier`).
      var tabcode=[];
      for (let x of bornesIncendie){
      tabcode.push(x.commune.slice(0,3)+'-'+string(x.num_pompier));
      }
      console.log(tabcode);
      // Q4
      // Affichez dans une popup s'il existe au moins une borne incendie
      // dans une ville saisie par l'utilisateur. Attention : les noms de communes
      // sont stockés en majuscules dans le tableau `bornesIncendie`.
      // Q5
      // Affichez dans la console le débit d'eau cumulé des bornes à incendie
      // du tableau `bornesIncendie`. Attention, pour certaines bornes, le débit prend
      // la valeur `null`.
      var sdebit=0;
      for (let i of bornesIncendie){
      if(i.debit)
      sdebit+=i.debit;
      }
      console.log(sdebit);