javasript template-literal

Anonyymi

var car = {name:"Toyota", model:"Corolla"}
`car is typeof ${typeof car} and it's name is ${car .name}`

Mikä tossa on väärin, en tajua? Valittaa : error: Uncaught TypeError: Cannot read property 'name' of undefined

5

256

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • yrität varmaan ns. taulukko- eli array-muuttujaa.
      Löysin niiden muodostamiseen seuraavan mallin:

      // Initializing while declaring
      var house = ["1BHK", "2BHK", "3BHK", "4BHK"];

      // Initializing after declaring
      house[0] = "1BHK";
      house[0] = "2BHK";
      house[0] = "3BHK";
      house[0] = "4BHK";

    • Anonyymi

      Annat ilmeisesti consoliin myös tuon seliterivin:
      [`car is typeof ${typeof car} and it's name is ${car .name}`]

      Sinun tarvitsee antaa vain se muuttujan määrittely:
      var car = {name:"Toyota", model:"Corolla"}

    • Laita puolipiste (;) steitmenttien väliin.
      Tuollaisenaan javascript luulee, että `` syötetään funktiolle (mitä tuo objekti {name:"Toyota", model:"Corolla"} ei ole), ks: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals : "The expressions in the placeholders and the text between the back-ticks (` `) get passed to a function. The default function just concatenates the parts into a single string."

      Suoritus kuitenkin kaatuu jo siihen, että car ei ole vielä määritelty. Muuten saisit ilmoituksen ilmoituksen {(intermediate value)(intermediate value)} is not a function, josta asia ehkä paremmin selviäisi.

      Enpä muuten tiennyt itsekään ennen tuota, että backtikit toimii noin että ne syötetään funktiolle kirjoittamalla ne vain suoraan funktion perään ilman sulkeita. Mutta niin se näyttää toimivan, kokeile vaikka

      console.log`hello`;

      • Tuo on muuten tärkeä muistutus puolipisteen tärkeydestä. Laittakaa ne aina! Se automaattinen lisäys ei aina mene oikein. Toinen esimerkki on

        var a = "jotain jotain"
        [1,2,3].forEach(console.log)

        Js luulee tuossa, että kysytään merkkijonon "jotain jotain" kolmatta merkkiä (pilkku-operaattori suorittuu 3:ksi). Tuohon virheeseen olen ennenkin kömmähtänyt :D


      • Anonyymi

        [minkkilaukku]
        olet GURU, ja puhut vaikeita käsitteitä ja käytät aloittelijalle tuntemattomia termejä. Haluatko olla ymmärrettävämpi?

        "Laita puolipiste (;) steitmenttien väliin."
        Laita puolipiste (;) lauseiden väliin.

        Backtick characters (`````)
        Aksenttimerkit (`````)

        [asiaa]
        Mielenkiintoista, aksenttimerkki onkin tosi toimissa Backtick ( à ), ja aksenttimerkein kehystetty toimii suoritettavana komentona, jonka tulos on sitten pääkomennon parametri.


    Ketjusta on poistettu 3 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. J-mies mustassa

      Tiedoxi, että jossain yks nainen kaipaa sua 😉
      Ikävä
      60
      4783
    2. Mikä sinussa on

      Että tunnen näin syvästi sinua kohtaan
      Ikävä
      65
      3868
    3. Sanna Marin ja lähestymiskielto

      No just joo. Kaikella sitä pitää saada lööppejä. Taas on joku ohimennen hipaissut pyhää Mariinia.
      Kotimaiset julkkisjuorut
      219
      3350
    4. Kivoimmat asiat elämässäsi?

      Ihastuminen? Rakastuminen? Voittaminen? Joku muu?
      Sinkut
      114
      3091
    5. Miksi sinua kiinnostaa mitä täällä lukee?

      Käyt täällä ja tiedän sen.
      Ikävä
      48
      2924
    6. Rakkauteni

      Elämäni suurin sellainen joka ei enää rakasta minua
      Ikävä
      23
      2588
    7. Haluaisin niin paljon että

      Tapahtuu jotain mutta siihen mitä toivot niin en vielä pysty. Täytyy tietää enemmän. Olen myös väsynyt tähän vaikka sydä
      Ikävä
      19
      2226
    8. Ero 68-vuotiaana

      Minkälaisen keskustelun saan aikaiseksi, kun minä 68-vuotias nainen haluan erota 70-vuotiaasta miehestäni. Olemme kumpi
      Suhteet
      254
      2087
    9. Pussataanko rakas keväällä

      Jos päästään kahdestaan johonkin? 🥰
      Ikävä
      38
      1923
    10. Mistä olet eniten

      Pahoittanut mielesi?
      Ikävä
      108
      1892
    Aihe