<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Interview on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/interview/</link>
        <description>Recent content in Interview on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Tue, 23 Sep 2025 15:29:24 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/interview/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>hiring-without-whiteboards</title>
        <link>https://producthunt.programnotes.cn/en/p/hiring-without-whiteboards/</link>
        <pubDate>Tue, 23 Sep 2025 15:29:24 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/hiring-without-whiteboards/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1662403655546-2610bdbc34dc?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTg2MTI0NzN8&amp;ixlib=rb-4.1.0" alt="Featured image of post hiring-without-whiteboards" /&gt;&lt;h1 id=&#34;potetohiring-without-whiteboards&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/poteto/hiring-without-whiteboards&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;poteto/hiring-without-whiteboards&lt;/a&gt;
&lt;/h1&gt;&lt;h1 id=&#34;hiring-without-whiteboards&#34;&gt;Hiring Without Whiteboards
&lt;/h1&gt;&lt;p&gt;A list of companies (or teams) that don&amp;rsquo;t do &amp;ldquo;whiteboard&amp;rdquo; interviews. &amp;ldquo;Whiteboards&amp;rdquo; is used as a metaphor, and is a &lt;em&gt;symbol&lt;/em&gt; for the kinds of CS trivia questions that are associated with bad interview practices. Whiteboards are not bad – CS trivia questions are. Using sites like HackerRank/LeetCode &lt;em&gt;probably&lt;/em&gt; fall into a similar category.&lt;/p&gt;
&lt;p&gt;The companies and teams listed here use interview techniques and questions that resemble day-to-day work. For example, pairing on a real world problem or a paid/unpaid take home exercise. Read (and contribute to) &lt;a class=&#34;link&#34; href=&#34;RECOMMENDATIONS.md&#34; &gt;our recommendations&lt;/a&gt; for ways to conduct better interviews.&lt;/p&gt;
&lt;h3 id=&#34;tldr&#34;&gt;tl;dr
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Discussing a real world problem (with or without whiteboard) is 👍&lt;/li&gt;
&lt;li&gt;Solving CS trivia, technical puzzles, riddles, brainteasers (with or without whiteboard) is 👎&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please open a &lt;a class=&#34;link&#34; href=&#34;https://github.com/poteto/hiring-without-whiteboards/pull/new/master&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PR&lt;/a&gt; to be added.&lt;/p&gt;
&lt;h3 id=&#34;duds&#34;&gt;Duds
&lt;/h3&gt;&lt;p&gt;If you&amp;rsquo;ve been through an interview with one of these companies recently, and your experience suggests otherwise from their description, please open a &lt;a class=&#34;link&#34; href=&#34;https://github.com/poteto/hiring-without-whiteboards/pull/new/master&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PR&lt;/a&gt; to remove them from this list.&lt;/p&gt;
&lt;h3 id=&#34;i-want-to-searchsortfiltergroup-by-x&#34;&gt;I want to search/sort/filter/group by X!
&lt;/h3&gt;&lt;p&gt;Check out our &lt;a class=&#34;link&#34; href=&#34;https://airtable.com/shr3eGPDm3wGjT2gA&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Airtable&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Additions to this document that are properly formatted will automatically be pushed and added to Airtable. Keywords from the description will also be extracted. You can see (and contribute!) to the &lt;a class=&#34;link&#34; href=&#34;https://github.com/poteto/hww-api&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;API here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Also check out &lt;a class=&#34;link&#34; href=&#34;https://www.nowhiteboard.org&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;No Whiteboards&lt;/a&gt; to search for jobs at these companies.&lt;/p&gt;
&lt;h3 id=&#34;discussion-and-other-reads&#34;&gt;Discussion and other reads
&lt;/h3&gt;&lt;!--lint disable--&gt;
&lt;ul&gt;
&lt;li&gt;Discussion
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://news.ycombinator.com/item?id=13874026&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HackerNews (2017)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://news.ycombinator.com/item?id=23981795&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HackerNews (2020)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://theoutline.com/post/1256/finding-a-better-alternative-to-the-whiteboard-interview&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Finding a better alternative to the whiteboard interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jes.al//2023/03/how-to-hire-engineering-talent-without-the-bs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How to hire engineering talent without the BS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.aaronsw.com/weblog/hiring.en&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How I Hire Programmers&lt;/a&gt; by Aaron Swartz&lt;/li&gt;
&lt;/ul&gt;
&lt;!--lint enable--&gt;
&lt;hr&gt;
&lt;h2 id=&#34;0---9&#34;&gt;0 - 9
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.1000.software/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;1000.software&lt;/a&gt; | Krakow, Poland / Remote | Series of 2 interviews first on soft skills, second on technical skills (how to build things, how to solve specific, real world problem, best practice) and meeting with a team leader. Sometimes a take home, simple project.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;a---c&#34;&gt;A - C
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.aalyria.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Aalyria&lt;/a&gt; | Remote | Timeboxed design exercise and related coding exercise, followed by a technical/behavioral discussion with the team, and behavioral interview with leadership&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://able.co/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Able&lt;/a&gt; | Lima, PE / Remote | Coding interview, Technical interview (Backlog Refinement + System Design), Leadership interview (Behavioural)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://angel.co/abstract/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Abstract&lt;/a&gt; | San Francisco, CA&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.accenture.com/us-en/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Accenture&lt;/a&gt; | San Francisco, CA / Los Angeles, CA / New York, NY / Kuala Lumpur, Malaysia | Technical phone discussion with architecture manager, followed by behavioral interview focusing on soft skills&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.accredible.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Accredible&lt;/a&gt; | Cambridge, UK / San Francisco, CA / Remote | Take home project, then a pair-programming and discussion onsite / Skype round.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.acko.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Acko&lt;/a&gt; | Mumbai, India | Phone interview, followed by a small take home problem. Finally a F2F or skype pair programming session&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.acumenci.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Acumen&lt;/a&gt; | London, UK | Small take home test, and sit in on some sprint rituals on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://adhoc.team&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ad Hoc&lt;/a&gt; | Remote / Washington, DC | Technical take-home assignment, followed by multiple video calls that are discussions of technical background and experience.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.adaface.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Adaface&lt;/a&gt; | Remote/ Singapore, Singapore / Bangalore, India | Conversational on-the-job technical assessment, followed by video calls with technical lead and founders&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://adcellerant.com/career-job-listing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AdCellerant&lt;/a&gt; | Denver, CO | Technical phone screen, 5-day take home code challenge, then on-site interview comprised of cultural and technical discussions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://adevait.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Adeva&lt;/a&gt; | New York, USA | 4 steps interviewing process that includes online coding assignment + lead engineer call.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.adex.network&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AdEx Network&lt;/a&gt; | Sofia, Bulgaria / Remote | Email screening process, followed by a take-home assignment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://getadmiral.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Admiral&lt;/a&gt; | Gainesville, FL / Remote | Intro phone call with hiring manager, take-home assignment, (mostly) non-technical on-site with team/leadership&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://adnymics.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Adnymics&lt;/a&gt; | Munich, DE | Take home project, then work with the team for a day&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://adthena.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Adthena&lt;/a&gt; | London, UK | Takehome project and discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.adyen.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Adyen&lt;/a&gt; | Amsterdam, NL | Take-home assignment, design discussion based on take home, culture fit etc. Provides visa sponsorship to the Netherlands.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.affinipay.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Affinipay&lt;/a&gt; | Austin, TX | Short takehome project + video interview about coding with engineering manager&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ae.studio&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Agency Enterprise Studio&lt;/a&gt; | Remote / Los Angeles, CA / Florianópolis, Brazil | Live coding of a task you&amp;rsquo;d do daily&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ageno.pl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ageno&lt;/a&gt; | Bielsko-Biala, Poland | Simple Magento Take-home project and discussion on the real world problems.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://angel.co/agilemd/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AgileMD&lt;/a&gt; | San Francisco, CA | Takehome project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://aimotive.com/career/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AImotive&lt;/a&gt; | Budapest, Hungary | Small take-home project, then in-person interview about technical background&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.airbase.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Airbase&lt;/a&gt; | San Francisco, CA; Bangalore, India; Remote | Intro Call with HR or EMs, small take-home project, two tech rounds with Airbase Engineers (based on real world engineering problems), followed by a final values round with the Founder or Director of Engineering.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://airtable.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Airtable&lt;/a&gt; | San Francisco, CA; Austin, TX; Mountain View, CA; New York, NY; Remote | Take home project that resembles a problem Airtable solves for. Five hour on-site which includes a discussion of the project, UI design, discussing architectural tradeoffs, and code debugging.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://aiwip.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Aiwip&lt;/a&gt; | London, UK | Skype/phone interview followed by takehome project or worksample (or whiteboard)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.lever.co/meetalbert/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Albert&lt;/a&gt; | Los Angeles, CA | Discussion with senior engineer, and then practical pair programming related to my experience + the position&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.algolia.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Algolia&lt;/a&gt; | Paris, France / San Francisco, CA | Takehome project &amp;amp; Onsite discussions and presentation&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.allaboutapps.at/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;all about apps GmbH&lt;/a&gt; | Vienna, Austria | 2-phase technical discussion &amp;amp; examination with department heads and management.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://allegro.pl/praca&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Allegro&lt;/a&gt; | Warsaw, Poland; Poznan, Poland; Torun, Poland; Wroclaw, Poland; Krakow, Poland | Take home, simple project. Series of 2 technical interviews (how to build things, how to solve specific, real world problem) and meeting with a team leader.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.alluxi.mx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Alluxi&lt;/a&gt; | Monterrey, Mexico | Initial skype interview, technical interview with Senior engineer and work sample review.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.almabase.com/careers#believe&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Almabase&lt;/a&gt; | Bengaluru, India | Take-home assignment, design discussion based on take home, low level and high level design rounds based on real life problems, culture fit etc. during onsite.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.alphasights.com/careers/open-roles/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AlphaSights&lt;/a&gt; | London, UK / New York, NY / Remote | Initial interview, pair programming then final round with general technical questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://amagi.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AMAGI&lt;/a&gt; | Makati, Philippines | 1) Review of your resume, portfolio, and/or GitHub profile; 2) 1 hour discussion (in-person or Skype) about your goals, experience, personal culture, and how to apply technical solutions to real problems;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://gastrograph.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Analytical Flavor Systems&lt;/a&gt; | Manhattan, New York | Code sample or take-home project, both with discussion.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://amerch.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Anderson Merchandisers&lt;/a&gt; | Remote / Dallas, TX | Technical discussion about the technologies they are currently using. Going over background and resume.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.angaza.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Angaza&lt;/a&gt; | San Francisco, CA | Take-home assignment with guaranteed feedback, on-site interviews involving actual day-to-day work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.animech.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Animech&lt;/a&gt; | Uppsala, Sweden | Multiple interviews with technical staff with real problem discussions.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://career.anyfin.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Anyfin&lt;/a&gt; | Stockholm, Sweden | Takehome project &amp;amp; Onsite discussions and presentation.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://aparkado.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Aparkado&lt;/a&gt; | Cologne, Germany / Remote | Intro with Co-Founder, team fit with the team plus a small real-world problem to solve, followed by final round with CEO / Co-Founder.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://apolloagriculture.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Apollo Agriculture&lt;/a&gt; | Nairobi, Kenya / Remote | Takehome project or Worksample (or whiteboard)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.beapplied.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Applied&lt;/a&gt; | London, UK | Situational judgement tests focusing on real-world soft skills (online then in structured interview)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://angel.co/arachnys/jobs/220465-software-engineer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Arachnys&lt;/a&gt; | London, UK | Take home test, real world pair programming&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.articulate.com/about/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Articulate&lt;/a&gt; | Remote | Take-home project &amp;amp; pair program on a problem similar to daily work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.artsy.net/jobs#engineering&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Artsy&lt;/a&gt; | New York, NY / London, UK / Berlin, Germany / Los Angeles, CA / Hong Kong, Hong Kong / Remote | Our process: 1) Informal chat 2) Application 3) Phone screen 4) In-person interview with 1 lead, 2 individual contributors and 1 non-engineer (30-45 mins each), focusing on your work habits and expertise as demonstrated in your previous work 5) ~4 in-depth professional reference calls (30-45 mins each).&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.asidatascience.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ASI Data Science&lt;/a&gt; | London, UK | Project to work at home, general technical questions, pair programming with engineers&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.asoscareers.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ASOS&lt;/a&gt; | London, UK | Take home or in-person code refactoring exercise, in-person walk-though of solution including software craftsmanship principles and design decisions, in-person freestyle architecture walk-through&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.ataccama.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ataccama&lt;/a&gt; | Prague, Czech Republic | Face to face interview (skype or onsite), coding task for 30 min, meeting with team members&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://atech.media&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;aTech Media&lt;/a&gt; | London, UK | Face to face interview, review of existing open source contributions or, if none are available, asked to write a library for something that interests them&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://atlan.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Atlan&lt;/a&gt; | New Delhi, India | A mini project (to be done within 8 days), followed by a discussion with the team you&amp;rsquo;re applying to. Then as the final step, a call with one of the founders.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://auraframes.com/jobs?gh_src=2ef5cfa32&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Aura Frames&lt;/a&gt; | New York, NY / San Francisco, CA | Simplified real-world coding task on Coderpad.io, followed by a few hours onsite writing code in our actual codebase.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.auto1-group.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Auto1&lt;/a&gt; | Berlin, DE | Series of Skype interviews which covers general technical questions, followed by a take-home assignment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://automattic.com/work-with-us/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Automattic&lt;/a&gt; | Remote | short take-home code test, then a part-time, paid project.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/AutoScout24/hiring&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AutoScout24&lt;/a&gt; | Munich, Germany | Skype interview followed by home assignment from our day-to-day business and then on-site interview including lunch with a team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://avant.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Avant&lt;/a&gt; | Chicago, IL | Pair programming interviews.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.avarteq.com/career&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Avarteq GmbH&lt;/a&gt; | Berlin, Germany / Saarbrücken, Germany | Technical interview with our developers on-site or remote followed by a work sample in a pair programming session or a previous take-home project with a follow-up discussion and detailed feedback.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.axelerant.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Axelerant&lt;/a&gt; | Remote | Take-home project, interviews with hr and engineering team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://axiacore.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Axiacore&lt;/a&gt; | Bogota, Colombia | We talk about on how is your process when solving problems.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.axios.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Axios&lt;/a&gt; | Arlington, VA / New York, NY / San Francisco, CA / Remote | Take-home project, with discussion.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://boards.greenhouse.io/b12#.WMlLfRIrJTa&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;B12&lt;/a&gt; | New York, NY | Take-home exercises and pair-programming with the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Babylonpartners/iOS-Interview-Demo&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Babylon Health iOS Team&lt;/a&gt; | London, UK | Take-home project, on-site presentation and discussion, design and product interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://workatbackbase.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Backbase&lt;/a&gt; | Amsterdam, Netherlands; Cardiff, Wales; London, UK; Atlanta, GA | Takehome project, interviews&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.badi.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Badi&lt;/a&gt; | Barcelona, Spain | Phone Screen, Take-home project, then a discussion onsite round.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://team.badoo.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Badoo&lt;/a&gt; | London, UK | Take-home project, then a discussion onsite round.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cybercareers.baesystems.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BAE Systems Digital Intelligence&lt;/a&gt; | London, UK / Manchester, UK / Guildford, UK / Gloucester, UK | Initial interview with experience based technical questions, second interview pair programming on problem similar to daily work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bakkenbaeck.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bakken &amp;amp; Bæck&lt;/a&gt; | Oslo, Norway; Amsterdam, Netherlands; Bonn, Germany | Skype interview followed by take-home assignment and a visit to one of our offices&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://career.balabit.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Balabit&lt;/a&gt; | Budapest, Hungary | Take-home project (medium size, with restrictions, e.g. only stdlib may be used), then discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.barracuda.com/company/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Barracuda View Team&lt;/a&gt; | Chelmsford, MA / Remote | Phone screen, remote pair programming session, technical discussion interview, culture fit interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://basecamp.com/about/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Basecamp&lt;/a&gt; | Chicago, IL / Remote&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bcw.group&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BCW Group&lt;/a&gt; | Remote | Behavioral interview with the technical lead and hiring manager, followed by a take-home project, and finally a brief discussion about how the exercise went.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.lever.co/beam&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Beam Dental&lt;/a&gt; | Columbus, OH / Remote | Phone Screen, Take Home Project, In-Person or remote Pairing and Cross-Functional Interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.belkadigital.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Belka&lt;/a&gt; | Trento, Italy; Munich, Germany | We give you a small task that you can do alone and then we evaluate your work with you&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bemind.me&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bemind&lt;/a&gt; | Biella, Italy / Latina, Italy / Remote | Series of interviews, discussion about technical background and past experiences, take-home project &amp;amp; pair programming&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bendyworks.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bendyworks&lt;/a&gt; | Madison, WI | Interviews and pair programming on personal projects&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://hellobenefex.com/about-us/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Benefex&lt;/a&gt; | Southampton, UK / Remote | A short, 3-stages interview process. The first stage is with HR. The second stage is a take-home assignment. The third stage is discussing the take-home assignment solution with two engineers.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.benshi.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Benshi.ai&lt;/a&gt; | Barcelona, Spain | Initial 15-30 mins interview with HR, followed by 15-30 mins chat with hiring manager to clear out basic concepts, then followed by take-home task for 5 days&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.betterment.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Betterment&lt;/a&gt; | New York, NY | Phone interview followed by on-site pair programming to simulate a Betterment feature build.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.betterhealthcare.co/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BetterPT&lt;/a&gt; | New York, NY | Initial phone interview, project using our tech stack, on-site code review/pair programming and &amp;ldquo;meet the team&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bevelop.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bevelop&lt;/a&gt; | Aschaffenburg, BY / Remote | Initial introductory call, on-sight or remote trial day with project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bignerdranch.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Big Nerd Ranch&lt;/a&gt; | Atlanta, GA &amp;amp; Remote | Interviews and pair programming on an internal project or problem.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bigabid.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BigaBid&lt;/a&gt; | Tel Aviv, Israel | Design a real time solution to a problem relevant to the business, followed by a take home project implementing a lean version of the solution&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bigbinary.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BigBinary&lt;/a&gt; | Remote | Phone discussion with a developer and the CEO&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bioconnect.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BioConnect&lt;/a&gt; | Toronto, Canada | Take-home assignment &amp;amp; discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bitchief.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bitchief Technology Services&lt;/a&gt; | India, Gurgaon | Screening Round: General comms and aptitude, Technical Round: Questions related to required technology, Home Assignments&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bitexpert.de/karriere&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bitExpert AG&lt;/a&gt; | Mannheim, Germany | Interview with experience based technical questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bitpanda.com/en/career&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bitpanda&lt;/a&gt; | Cracow, Poland / Remote | HR talk, take-home task, tech interview, culture fit interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bitsoflove.be/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bits of Love&lt;/a&gt; | Bruges, Belgium | In-person interview to evaluate experience and motivation, potentially followed by take-home project.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bitso.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bitso&lt;/a&gt; | Mexico City, Mexico / Remote | Intro phone or hangouts/skype call with People team, take home project followed by walkthrough of your code and some tech questions focused on your experience, founders video call with one of the founders&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blackdotsolutions.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Blackdot Solutions&lt;/a&gt; | Cambridge, UK | Take-home project followed by on-site face-to-face walkthru of your code focusing on decisions/reasoning/technology used.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blacktech.com.np&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BlackTech&lt;/a&gt; | Pokhara, NP | Take-home project followed by on-site face to face or remote video conference interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bleacherreport.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bleacher Report&lt;/a&gt; | San Francisco, CA, USA | Take-home project; on-site discussion about the project and meeting with different teams&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blendle.homerun.co/?lang=en&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Blendle&lt;/a&gt; | Utrecht, The Netherlands | Take-home project &amp;amp; pair program on a problem similar to daily work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/blogfoster/join-the-engineering-team&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;blogfoster&lt;/a&gt; | Berlin, Germany | Take-home project, discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bloomworks.digital/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bloom Works&lt;/a&gt; | Remote | Discussion, pair-programming exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bluebottlecoffee.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Blue Bottle Coffee&lt;/a&gt; | Oakland, CA | Technical Phone Screen, Take Home Challenge, Technical in-persons.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.bluesoft.com.br&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bluesoft&lt;/a&gt; | São Paulo, Brazil | Takehome project and an interview to evaluate the candidate&amp;rsquo;s previous experience.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bocoup.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bocoup&lt;/a&gt; | Boston, MA / Remote | Pair programming with personal laptop on typical problem seen at work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bonus.ly/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bonusly&lt;/a&gt; | Boulder, CO | Values &amp;amp; Tech focused interview - Process: 30 minute with HR, 45 minute Google Meet interview with 2 team members, ~2-4 hour take-home project, on-site interview involving 2 values-alignment interviews and 1 technical interview going over your take home project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bookingsync.com/en/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BookingSync&lt;/a&gt; | Remote | Small takehome project, interviews over skype with team members.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://boomtownroi.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BoomTown&lt;/a&gt; | Charleston, SC / Atlanta, GA / Remote | Conversational in-person interviews with potential team members and managers that revolve around past experience and how that could be applied to future work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://botika.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Botika&lt;/a&gt; | San Marino, RSM | View code, projects, libraries or any other open source story that you have been a part of, take-home project followed by on-site face-to-face walkthru of your code focusing on decisions/reasoning/technology used.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bouvet.no&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bouvet&lt;/a&gt; | Bergen, Norway | Pair programming with senior engineers&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://brainn.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;brainn.co&lt;/a&gt; | São Paulo, BR | Zoom/On-site interview, take-home project and interview with a team leader.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://brainstation-23.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BrainStation-23&lt;/a&gt; | Dhaka, BD | A practical project followed by series of in-person interview sessions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.brmbl.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bramble&lt;/a&gt; | Remote | Slack interview, take home test, pairing, culture-fit interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://breather.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Breather&lt;/a&gt; | Montreal, Canada | Series of interviews including a conversation about the candidate’s experience and a technical discussion involving real world problems&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.brightbytes.net/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BrightBytes&lt;/a&gt; | San Francisco, CA | Time-boxed coding exercise at home and on-site pair programming with engineers&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.brighthr.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BrightHR&lt;/a&gt; | Manchester, UK | Telephone conversation, coding exercise at home, on-site pairing with a cultural interview, meet the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://angel.co/brightwheel/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;brightwheel&lt;/a&gt; | San Francisco, CA | Take home exercise, and systems design.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.broadinstitute.org/data-sciences-platform&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Broad Institute&amp;rsquo;s Data Sciences Platform&lt;/a&gt; | Cambridge, MA | Phone screen, small take home project, both a technical and non-technical discussion panel, and a panel following up on the take home project walking through the solution and making a modification to the original code&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://apply.workable.com/broadlume/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Broadlume&lt;/a&gt; | New York, NY / Remote | Intro phone call with HR, second conversation with Broadlume engineer, and final pairing interview with Broadlume engineer over a screenshare&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.brooklyndata.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Brooklyn Data Co&lt;/a&gt; | Remote | Zoom interview, take-home project followed by technical interview with ICs with opportunities to discuss the project, interview with team leaders.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.browserstack.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BrowserStack&lt;/a&gt; | Mumbai, India; Dublin, Ireland | Initial phone screen with semi-technical questions, two 2-hour assignments based on real problems solved in company (allowed to lookup internet), final interview with EMs/Director.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bryter.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BRYTER&lt;/a&gt; | Remote | Initial 30min video call for getting to know each other, one 90min technical interview where you talk about one relevant previous project and we then dive deeper together (no pairing session or any other kind of exercise), second 90min interview where we ask questions around giving/receiving feedback and your ability to build relationships in remote setting, two final calls with people lead and then founder.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.btw.so&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;btw&lt;/a&gt; | Remote/ Singapore, Singapore / Bangalore, India | Initial phone screen for cultural round, optional take-home assignment, two rounds of video interviews (1-2hrs) discussing through previous projects and technical stack&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://bubblin.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bubblin Superbooks&lt;/a&gt; | Remote | View code, projects, libraries or any other open source story that you have been a part of, a small take-home project with real code occasionally.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://buffer.com/journey&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Buffer&lt;/a&gt; | Remote | Interviews over video call, code walkthrough of real code focussing on decisions and reasoning, then a 45 day full time, fully paid contract project working on production code.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bugcrowd.com/about/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bugcrowd&lt;/a&gt; | San Francisco, CA / Sydney, NSW | Take home exercise, half-day onsite walking through code, and pair programming.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://buildkite.com/home&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Buildkite&lt;/a&gt; | Remote | No CV required. Anonymized writing assessments. Video chat with founder and future team member about you, the job, and the company. Last video chat is a pair programming for technical roles or more in-depth chat for non-technical roles. Offer.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.busbud.com/en/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Busbud&lt;/a&gt; | Montreal, Canada | Phone screening, followed by a 2-4 hours take home assignment. If the challenge is a success, on-site or remote interview with team members, including someone who reviewed it, to talk about it and potential next steps if the challenge was a real life task.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.lever.co/BDG?department=Product&amp;amp;team=Engineering&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bustle&lt;/a&gt; | New York City, NY / Remote | Half day pair programming on a task for production or one of our Open Source projects. We&amp;rsquo;ll also buy you lunch with the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.busuu.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;busuu&lt;/a&gt; | London, UK | Video call to show real code as first stage. In office pair programming, white board real world problem that we&amp;rsquo;ve encountered before, and history/experience discussion.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://buttercms.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ButterCMS&lt;/a&gt; | Chicago, IL; Remote | Take home exercise and half-day of pair programming&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bybox.com/company/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ByBox&lt;/a&gt; | Remote | Phone interview followed by interview with devs (ideally in person but sometimes Skype) covering technical experience and coding exercise with real code.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://byu.edu&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BYU OIT&lt;/a&gt; | Provo, UT | Take home programming challenge. Discussion in the interview about solution, among other normal hiring questions.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cabify.careers/en/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cabify&lt;/a&gt; | Remote | First a phone screening with the recruiter to talk about your past experiences and the take-home assignment, then you will receive a take home project to deliver within 2 weeks and finally a zoom interview to talk about your project&amp;rsquo;s solution and some other questions about decision making and company values.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.caci.com/ListJobs/All/Search/location/rome/state/ny/country/us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CACI Rome&lt;/a&gt; | Rome, NY; Remote | Phone interview followed by in-person or Skype screen sharing interview with a coding exercise in either Java, web (Node.js + frontend), or both. Interview format is exclusive to the Rome, NY office and may not be shared by other regional CACI offices.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://boards.greenhouse.io/cakedefi&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cake DeFi&lt;/a&gt; | Remote; Central, Singapore | Initial HR interview, followed with technical lead interview with take home projects relevant to work, and finally cultural interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.calendly.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Calendly&lt;/a&gt; | Remote; Atlanta, GA; Austin, TX | Initial phone screen followed by a panel interview primarily focused on a low-stress and real world set of problems.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.capgemini.com/gb-en&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Capgemini UK Java Team&lt;/a&gt; | London, UK; Woking, UK; Bristol, UK; Cardiff, Wales; Birmingham, UK; Manchester, UK; Leeds, UK; Rotherham, UK; Liverpool, UK; Newcastle, UK; Edinburgh, Scotland; Glasgow, Scotland | Technical telephone interview (30 minutes), take-home non-CompSci coding exercise (3-4 hours), face-to-face role-played consulting scenario involving a solution architecture and a delivery plan (two hours)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.caravelo.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Caravelo&lt;/a&gt; | Barcelona, Spain | Take home project, then technical discussion about the code in-person or Skype and hang out with the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careera.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Careera&lt;/a&gt; | Singapore, Singapore | Video/phone interview, code review&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.carto.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CARTO&lt;/a&gt; | Madrid, Spain | Phone screen, take-home project, team code review/interview, hiring manager interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://casetext.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Casetext&lt;/a&gt; | San Francisco, CA | Submit code sample for review/discussion, contract for one full day (paid)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cashlink.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CASHLINK&lt;/a&gt; | Frankfurt, Germany | Skype/phone interview, take-home project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.causeway.com/content/opportunity&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Causeway&lt;/a&gt; | United Kingdom, India | Skype or Telephonic discussion on approaches and experience in regards to solve projects related work, then face to face round to write small solutions to common problems in related field.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://chamatheapp.bamboohr.com/jobs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chama The App&lt;/a&gt; | Amsterdam, The Netherlands | Cultural fit interview, home test, technical interview with the team and then interview with the leadership&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://chargify.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chargify&lt;/a&gt; | San Antonio, TX / Remote | Take-home project &amp;amp; pair on a problem similar to daily work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://checkout51.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Checkout 51&lt;/a&gt; | Toronto, Canada | Phone conversation (15-20 minutes) followed by on-site pair programming and discussion focused on understanding decisions made during on-site work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://checkr.com/company/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Checkr&lt;/a&gt; | San Francisco, CA / Denver, CO / Orlando, FL / Remote | 1 hour CoderPad problem, if pass, then four 1 hour interviews: API Design using your computer and languages, Refactoring in language of your choice, Object Design (no coding), System Architecture (no coding) and sometimes a 30 minute manager chat &lt;a class=&#34;link&#34; href=&#34;https://medium.com/checkr/an-engineers-guide-to-interviewing-at-checkr-fc28f9e8014b&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;read more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.chef.io/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chef&lt;/a&gt; | Seattle, WA / Remote | Take home small project testing the ability to implement real world problems. Phone/Zoom interviews discussing the said project. Checking if the candidate would be a good cultural fit.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://ctic-inc.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chesapeake Technology&lt;/a&gt; | Denver, CO / Santa Barbara, CA / Camarillo, CA / Dulles, VA / California, MD / Remote | Phone screen (30 minutes), take home at leisure question based on real development followed by in person review of solution and general technical questions with actual team and opportunity for you to ask questions and provide feedback ( 2-3 hours)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.chg-meridian.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CHG-MERIDIAN&lt;/a&gt; | Weingarten, Germany | Face-to-face or video interview with our IT manager and human resources. Spend half a day at our headquarters and get to know the team, chat about current projects, etc., and finish up with having lunch together.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ciandt.com/us/en-us/careers/open-positions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CI&amp;amp;T&lt;/a&gt; | New York, NY / London, UK / Tokyo, Japan / Campinas, Brazil / Shanghai, China / Medellín, Colombia / Lisbon, Portugal / Melbourne, Australia / Remote | Video screening followed by a technical interview focusing on software engineering skills and finally, a feedback interview with the hiring manager.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://circleci.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CircleCI&lt;/a&gt; | San Francisco, CA / Remote | Take-home project and discussion, followed by on-site interview that includes pair programming on actual CircleCI bugs/feature requests.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://boston.gov/analytics&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;City of Boston&amp;rsquo;s Analytics Team&lt;/a&gt; | Boston, MA | Take-home project and in-person or phone/Skype interviews&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://beta.phila.gov/departments/office-of-open-data-and-digital-transformation/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;City of Philadelphia&amp;rsquo;s Office of Open Data &amp;amp; Digital Transformation&lt;/a&gt; | Philadelphia, PA | Take-home project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.civisanalytics.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Civis Analytics&lt;/a&gt; | Chicago, IL | Take-home project and discussion via Skype, followed by pair programming exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.cj.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CJ Affiliate&lt;/a&gt; | Los Angeles, CA &amp;amp; Westlake Village, CA | Phone coding design exercise (no algorithms), followed by an on-site final interview that includes pair programming on a realistic object-oriented design problem&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://clara.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Clara Lending&lt;/a&gt; | San Francisco, CA | Phone conversation around technical background and experience, followed by take-home project, pair programming and discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.clarisights.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Clarisights&lt;/a&gt; | Bangalore, India / Remote | Culture fit Interview, Basic Tech Round, Design Interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.clickmagick.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ClickMagick&lt;/a&gt; | Austin, TX / Remote | Phone conversations and examples of Free Software/Open Source work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://clippings.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Clippings&lt;/a&gt; | Sofia, Bulgaria | Video screening first, then send us code they&amp;rsquo;ve recently wrote, then technical interview. We could ask questions about the code they wrote at home.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.cwconsult.dk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Clockwork Consulting&lt;/a&gt; | Copenhagen, Denmark | Interviews, discussion of technical background and experiences.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.close.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Close&lt;/a&gt; | Remote | Interviews and take home project.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cloudconsultants.ch&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cloud Consultants&lt;/a&gt; | Zurich, Switzerland; Remote | Phone interview, followed by the submission of a use case resolution to evaluate the problem solving skills.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cloudbees.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CloudBees&lt;/a&gt; | Remote | Multiple interviews, discussion of technical background and experiences.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://clusterdev.com/#careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ClusterDev&lt;/a&gt; | Kochi, India; Remote | Phone interview, Take home project and discussion later on about past experiences and/or personal projects.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code-orange.nl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Code Orange&lt;/a&gt; | Amsterdam, Netherlands | Phone conversation followed by take-home project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.cogent.co.jp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cogent Labs&lt;/a&gt; | Tokyo, Japan | On-site or video call conversation around technical background and experience, followed by take-home project that resembles a problem Cogent Labs solves for. This project will serve as the base of discussion with the developers for the second interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.cognitran.com/employment-opportunities&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cognitran&lt;/a&gt; | Essex, UK / Szczecin, Poland / Detroit, MI | Skype/phone interview followed by pair programming.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://kelas.colearn.id/career&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Colearn&lt;/a&gt; | Remote; Bengaluru, India; Jakarta, Indonesia; Abu Dhabi, UAE; Central, Singapore | Alignment call with HR or CTO, small take home assignment, remote pair programming session about the assignment with senior engineer &amp;amp; tech lead.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.collabora.com/careers.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Collabora&lt;/a&gt; | Cambridge, UK / Montreal, Canada / Remote | On-site or video interview, discussion of technical experience and sometimes approach for tackling a hypothetical problem.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://colonist.io/contribute.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Colonist&lt;/a&gt; | Remote | Call-&amp;gt;Solve real product coding assignment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://combyne.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;combyne&lt;/a&gt; | Remote / Munich, Germany | Short online technical test, 4-hour take-home project, and culture fit interview with members of the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://corporate.comcast.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Comcast India Engineering Center&lt;/a&gt; | Chennai, India | Easy-Medium Technical questions asked by Senior Engineers, Hiring Manager Round, HR Interview, Offer Letter&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.compeon.de/karriere&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;COMPEON&lt;/a&gt; | Duesseldorf, Germany | Phone interview, followed by onsite discussions and pair programming with our developers&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://about.cph.org/careers.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Concordia Publishing House&lt;/a&gt; | St Louis, MO | Take-home project followed by discussion of it on-site with future teammates.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://condenastinternational.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Condé Nast International&lt;/a&gt; | London, UK | Phone interview, 2 hour take-home project, and on-site with discussion of project, experience, and general technical questions.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://contactlab.com/en/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Contactlab&lt;/a&gt; | Milan, Italy | Recruiter interview, tech interview (technical background and experiences), both on-site.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://container-solutions.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Container Solutions&lt;/a&gt; | Remote; Berlin, Germany; Amsterdam, Netherlands; London, UK | Unbiased process in a nutshell: chat with one of our recruiters, skills assessment and tech assessment, personality assessment which is followed by an interview with one of our occupational psychologists to discuss results. At the end a panel interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.contentful.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Contentful&lt;/a&gt; | Berlin, Germany &amp;amp; SF, USA | Multiple interviews, discussion of technical background &amp;amp; live coding challenge (you can use the internet).&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.contentsquare.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ContentSquare&lt;/a&gt; | Paris, France | Real-world challenges with open discussions.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.contino.io/join-us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Contino&lt;/a&gt; | London, UK; New York, USA; Sydney, Australia | Intro call, remote pair programming interview (Your IDE, your language, no code challenges), An open discussion on experience and technical background&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://convertkit.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ConvertKit&lt;/a&gt; | Remote | Fully remote job in USA and EMEA timezones with interview process starting with a written application, phone screen, short 2-hour coding and writing assignment, technical interview about assignment and culture contribution interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.convious.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Convious&lt;/a&gt; | Vilnius, Lithuania | Intro interview (video call), followed by a homework assignment, followed by a bit more technical interview discussing homework, technical background, etc. Homework feedback is always provided.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cookpad.com/us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cookpad&lt;/a&gt; | Tokyo, Japan; Bristol, UK | Interviews, discussion of technical background and experiences, remotely pair with devs.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.coorpacademy.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Coorp Academy&lt;/a&gt; | Paris, France | Technical interview as an open discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.cortlex.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cortlex&lt;/a&gt; | Vilnius, Lithuania | Non-technical screening call with recruiter, then online interview with experience based technical questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.cosium.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cosium&lt;/a&gt; | Versailles, France | Phone screen, take-home coding challenge, remote or on-site technical interview starting with a quiz about tech fundamentals that often leads to an open discussion.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.cossacklabs.com/job/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cossack Labs&lt;/a&gt; | London, UK / Kyiv, UA / Remote | Initial screening video call, technical take-home challenge, technical interview with the team about real-world tasks and candidates&amp;rsquo; day-to-day work (programming, networking, OS, SSDLC, security).&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.coverhound.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CoverHound, Inc.&lt;/a&gt; | San Francisco, CA | Open technical discussion, short on-site coding challenge.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.coxenterprises.com/home-technology/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cox Enterprises&lt;/a&gt; | Atlanta, GA; Remote | First-round behavioral interview with Engineering Lead, second-round technical discussion with the dev team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.coyoapp.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;COYO&lt;/a&gt; | Hamburg, Germany | Exemplary take home project in different front- and backend flavors, followed by tech interview &amp;amp; meet the team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://angel.co/company/cquence-app/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cquence&lt;/a&gt; | Remote | Phone screen, take-home coding challenge, collaborative technical interview, and behavioral interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://boards.greenhouse.io/creditas&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Creditas&lt;/a&gt; | Curitiba, Brazil | Phone conversations about the company and the opening; remote and on-site team interviews (tech-focused); take-home programming exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://crownstone.rocks/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Crownstone&lt;/a&gt; | Rotterdam, Netherlands | Technical interaction using previously created GitHub projects, followed by in-person interview with a focus on someone&amp;rsquo;s professional ambition in the short and long term.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.cube19.com/work-with-us/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cube19&lt;/a&gt; | London, UK | Take-home project, then an on-site discussion about the code and previous experience.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cultivatehq.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cultivate&lt;/a&gt; | Edinburgh, UK | 30 minute pair-programming screening interview on a simple exercise (remote or in-person). Half day pair programming, with 3 or 4 different team members plus informal chat, typically on-site.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.culturefoundry.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Culture Foundry&lt;/a&gt; | Austin, TX | Paid take-home project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.currencytransfer.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CurrencyTransfer&lt;/a&gt; | London, UK &amp;amp; Remote | Take-home project&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;d---f&#34;&gt;D - F
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.dare.global/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dare&lt;/a&gt; | London, UK | Phone screen, On-site (or remote) pair programming and architecture discussions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.datatheorem.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Data Theorem&lt;/a&gt; | Palo Alto, CA; Paris, Fr; London, United Kingdom; Remote | Phone interview, then a take home project and finally in-person interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://DataChef.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DataChef&lt;/a&gt; | Amsterdam, Netherlands | Video call (technical questions about candidate&amp;rsquo;s achievements), take home assignment, cultural fit zoom or face to face with rest of the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://datamade.us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DataMade&lt;/a&gt; | Chicago, IL | After submitting an application, selected applicants are moved on to a round of interviews and will be asked to submit a piece of code for review. If you don’t have any code you can share, DataMade will provide a short exercise for you to complete. An in-person (or remote) interview will be scheduled to go over your background, what draws you to DataMade, and your code sample.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://datascopeanalytics.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Datascope&lt;/a&gt; | Chicago, IL | Take home exploratory data project with public data, discussion about the project via video chat, and in-person office visit.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.defmethod.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Def Method&lt;/a&gt; | NYC, NY | Take home test, pair programming with dev on test and client work, receive offer same day as pairing interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://deliverycenter.gupy.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Delivery Center&lt;/a&gt; | Rio de Janeiro, Brazil &amp;amp; Remote | Interviews with the team about the company and the opening, with a short take-home project using their main stack.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://carreiras.deliverymuch.com.br&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Delivery Much&lt;/a&gt; | Florianópolis, Brazil &amp;amp; Remote | On-site (and/or remote) interviews about the company and the opening, with a short take-home project for leveling.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://angel.co/dentolo&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dentolo&lt;/a&gt; | Berlin, Germany | Phone interview with the HR department, take-home project and technical interview to discuss your skill set + general questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.deskbookers.com/en-gb/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deskbookers&lt;/a&gt; | Amsterdam, Netherlands | Phone screen, take-home project, on-site interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.desmart.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DeSmart&lt;/a&gt; | Gdynia, Poland | Technical interview, take-home project and talk about your experience&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://despark.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Despark&lt;/a&gt; | Sofia, Bulgaria &amp;amp; Remote | Culture add interview, sample code review and paid pair programming with team member or take-home project.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.detroitlabs.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Detroit Labs&lt;/a&gt; | Detroit, MI | Our technical interview starts with a take-home assignment that we will look at during the interview. You&amp;rsquo;ll walk us though your thought process, add functionality if applicable to the interview, and talk about your experience. We believe that showing us your work in a practical setting is more telling of your abilities and what you will bring to the table, than writing code on a whiteboard.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.dev.to&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DEV&lt;/a&gt; | Remote | Written application, job-specific questionnaire and/or task, team interviews (total interview time under two hours)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://devboost.com/karriere&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DevBoost&lt;/a&gt; | Dresden, Germany | On-site get-to-know interview, on-site pair-programming and discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developmentseed.org/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Development Seed&lt;/a&gt; | Remote / Washington, DC / Lisbon, Portugal / Ayacucho, Peru | Introductory discussion; in-depth technical video interview (no whiteboard, and no live coding); mission &amp;amp; values video interview; onsite (or remote) 1 or 2 days paid working &amp;ldquo;sprint&amp;rdquo; in the context of a real project, culminating in a brief presentation of completed sprint work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://devfolio.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Devfolio&lt;/a&gt; | Bangalore, India; Remote | Phone call, followed by a small take home problem. Finally a F2F or Zoom pair programming session&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://devsdata.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DevsData&lt;/a&gt; | New York, NY; San Francisco, CA; Warsaw, Poland; Frankfurt, Germany; Remote | Video interview, 3-hours take-home assignment, technical video interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.dg-i.net&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DG-i&lt;/a&gt; | Cologne, Germany | Take-home project and/or discussion on-site about past experiences&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.dice.se&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DICE&lt;/a&gt; | Stockholm, Sweden | Take-home project and code review at the on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://digia.com/en/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Digia&lt;/a&gt; | Helsinki, Finland | Behavioral interview and a technical discussion to chat about design patterns and other matters regarding the position. Both stages through Microsoft Teams.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.di.fm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Digitally Imported&lt;/a&gt; | Denver, Colorado &amp;amp; Remote | Video meetings on past experience and high level tech questions, take-home project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://digitalservice.bund.de/en/career&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DigitalService&lt;/a&gt; | Berlin, Germany | Initial screening call with HR and Engineering Manager, take-home challenge or bring your own project, discussion about solution/project and past experience with two engineers, culture fit interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://dixa.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dixa&lt;/a&gt; | Copenhagen, Denmark | Initial phone call. Take-home programming task, then on-site discussion followed by online personality test&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://about.doctolib.fr/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Doctolib&lt;/a&gt; | Paris, France; Berlin, Germany | Take-home project, on-site interview and work half a day with one of our feature team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://doist.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Doist&lt;/a&gt; | Remote | Personal interviews with part of the team and a takehome programming assignment.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.dollarshaveclub.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dollar Shave Club&lt;/a&gt; | Venice, California | Phone interview, take-home projects, on-site interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://door2door.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;door2door&lt;/a&gt; | Berlin, Germany | Take home challenge + on-site interview + trial day&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://doublenines.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Double Nines&lt;/a&gt; | Remote | Initial screening call with recruiter, culture/vibe conversation with engineering leadership, and a technical interview where you bring a recent project you&amp;rsquo;ve worked on to present and answer questions about architectural/strategic decisions as well as show code you&amp;rsquo;ve written.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.google.com/document/d/1fC_-liTPpYQOoE_5iKj0O3AwSdPggQGnOsjUKahfbkQ/edit?usp=sharing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Draft Fantasy&lt;/a&gt; | Tel Aviv, Israel | Talk about past experience and what the developer has actually built as well as pair programming or a programming exercise.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://draftbit.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Draftbit&lt;/a&gt; | Remote | Phone screening, take-home assignment based on an old project; pair programming and interview with team members&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.drawbotics.com/en/join-us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Drawbotics&lt;/a&gt; | Brussels, Belgium | Take-home project, bootcamp on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.drchrono.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;drchrono&lt;/a&gt; | Mountain View, CA | Hackerrank test (but not CS trivia, it&amp;rsquo;s real product problems) &amp;amp; on-site/take-home project w/ presentation&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.drivy.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Drivy&lt;/a&gt; | Paris, France | Phone screening followed by a take-home assignment, &amp;ldquo;Resume&amp;rdquo; interview, technical interview, product interview, interview with another team, finalizing the hire&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.dronedeploy.com/careers.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DroneDeploy&lt;/a&gt; | San Francisco, CA | Pair program on a problem similar to daily work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://apply.workable.com/bayutdubizzle/#jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;dubizzle&lt;/a&gt; | Dubai, UAE; Sindh, Pakistan; Cluj County, Romania | Take home assignment, general technical questions, pair programming with engineers or tech leads&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://duckduckgo.com/hiring&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DuckDuckGo&lt;/a&gt; | Remote | Up to two paid projects and video call interviews.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://easytaxi.com.br&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Easy Taxi&lt;/a&gt; | São Paulo, Brazil | Take-home project, interview to evaluate the candidate&amp;rsquo;s previous experience.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.eatsleepride.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EatSleepRIDE&lt;/a&gt; | Toronto, Canada | Interview with CTO to discuss current experience/projects. Take home assignment. Behavioral interview with rest of the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eaze.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Eaze&lt;/a&gt; | San Francisco, CA | Take home project, on-site interview building off of the project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.ebayinc.com/join-our-team/start-your-search/find-jobs-by-location/detail/germany&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;eBay Kleinanzeigen&lt;/a&gt; | Berlin, Germany | 45 mins technical phone interview, take-home project/review, on-site interview including pair programming with team lead and agile interview with product manager.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.ecaresoft.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ecaresoft&lt;/a&gt; | Monterrey, Mexico | Cultural fit session and Predictive Index test with recruiter, best piece of code review and technical interview with engineers&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://echobind.com/culture&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Echobind&lt;/a&gt; | Boston, MA; Remote | Meet the entire team, share examples of previous work and pair with one team member&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.edenspiekermann.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Edenspiekermann&lt;/a&gt; | Amsterdam, Netherlands / Berlin, Germany / Los Angeles, CA / San Francisco, CA / Singapore, Singapore | On-site chat about skills and past experiences, review some code samples or a take-home assignment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.ef.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EF Education First&lt;/a&gt; | London, UK; Boston, MA | Short phone interview, take-home project, discussion of project and real world engineering problems, meet the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://efishery.darwinbox.com/ms/candidate/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Efishery&lt;/a&gt; | Bandung, Indonesia | Phone interview, HR Interview, take-home assignment, Presentation about the take home assignment and approach used, User Interview, Salary Negotiation.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eidu.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Eidu&lt;/a&gt; | Berlin, Germany | Take-home project, discussion of results with team, and test days with pair programming&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.elnino.tech&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;El Niño&lt;/a&gt; | Enschede, The Netherlands; The Hague, The Netherlands | On-site chat about the candidate experience and the company followed by a trial day relevant for the role.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.elpassion.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;El Passion&lt;/a&gt; | Warsaw, Poland | Take-home project, interview to 1) discuss delivered solution and 2) previous projects&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.electricpulp.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Electric Pulp&lt;/a&gt; | Sioux Falls, SD, USA | Phone interviews with leadership team and technical team leads. We are a tight knit team, so emphasis on a great personal fit is as important as technical prowess.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.elements.nl/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Elements Interactive&lt;/a&gt; | Almere, The Netherlands &amp;amp; Barcelona, Spain | Take-home project &amp;amp; discussion via Skype or on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ellucian.com/About-Us/Careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ellucian&lt;/a&gt; | Reston, VA, USA | Discussion of real world problems (from resume, if possible)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://elmah.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;elmah.io&lt;/a&gt; | Aarhus, Denmark / Remote | Discussion about code and looking at hobby projects (if any)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.elvie.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Elvie&lt;/a&gt; | London, England | Discussing real code, pairing and a paid day to see how you work with the team. No coding for free or time-restricted take-home projects, code challenges or abstract algorithm tests&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://goo.gl/N7SMKl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;eMarketer&lt;/a&gt; | New York, NY | Short phone interview, then come in and meet the team, check out our space, and have a discussion with team members about real-world problems&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.emarsys.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Emarsys&lt;/a&gt; | Budapest, Hungary | Take-home project (small, 1-2 days to solve), then discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.emergentsoftware.net&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Emergent Software&lt;/a&gt; | Minneapolis, MN | Phone intro, discuss recent project, short take home project (4h max) with code review, real world open ended questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.endpointdev.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;End Point Dev&lt;/a&gt; | New York, NY; Johnson City, TN; Remote | Video interview with senior technical management followed by 2-hour scheduled take-home project similar to work done for our clients.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.endava.com/en/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Endava&lt;/a&gt; | Belgrade, Serbia; Bucharest, Romania; Chisinau, Moldova; Cluj-Napoca, Romania; Iasi, Romania; Pitesti, Romania; Skopje, Macedonia; Sofia, Bulgaria; Frankfurt, Germany; Glasgow, Scotland; Hilversum, Netherlands; London, UK; Oxford, UK; Bogota, Colombia; Atlanta, GA; New Jersey, NJ; New York, NY | On-site discussion about previous experience and technical questions about the target technologies.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.engelvoelkers.com/en/tech/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Engel &amp;amp; Völkers Technology&lt;/a&gt; | Hamburg, Germany | Remote technical interview with an Engineering Manager, followed by a practical coding challenge implemented in 5 hours, ending with a technical discussion with the team on the produced code either remotely or on-site based on geographical practicality.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://enhancv.com/about.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Enhancv&lt;/a&gt; | Sofia, Bulgaria | Talk is cheap, show us your code: github profile or other project examples. Explain them in person / remotely. Discuss habits and interests to see if we have a culture fit.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.enigma.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Enigma&lt;/a&gt; | New York, NY | 2-part takehome project, followed by a pair programming exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://enki.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Enki&lt;/a&gt; | London, UK | Skype/phone interview followed by takehome project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.equalexperts.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Equal Experts&lt;/a&gt; | London, UK; Manchester, UK; New York, NY; Pune, India; Lisbon, Portugal; Calgary, Canada | Fizzbuzz test done at home followed by Pair Programming session at office and finally face to face technical and attitude interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ericsson.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ericsson&lt;/a&gt; | Dublin, Ireland | Skype/phone interview followed by Face 2 Face interview, discussions and architecture questions followed by final small project on a problem similar to daily work.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://esharesinc.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;eShares, Inc&lt;/a&gt; | San Francisco, CA; Palo Alto, CA; Seattle, WA; Rio de Janeiro, Brazil; London, UK; New York, NY | Phone call, practical technical screen, on site to meet the team &amp;amp; explore the company&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://espeo.eu/career&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Espeo Software&lt;/a&gt; | Poznań, Poland | 30 min HR interview, 1 hour technical interview, 1 hour soft skills interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://etermax.com/en/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Etermax&lt;/a&gt; | Buenos Aires, Argentina | Skype/phone screen with two engineers &amp;amp; HR, 30 min HR onsite interview, 2 hour onsite pair programming session (with focus on testing and design) with feedback&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.etixeverywhere.com/en/job-offers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Etix Everywhere&lt;/a&gt; | Luxembourg City, Luxembourg&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://euranova.eu&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EURA NOVA&lt;/a&gt; | Mont-Saint-Guibert, Belgium; Marseille, France; Tunis, Tunisia | attitude interview, unpaid take-home project, technical discussion with 1 or 2 technical employees (remote or face 2 face), face 2 face discussion with HR, partner, and technical staff to have a foretaste of the collaboration&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.europaymentgroup.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Euro Payment Group&lt;/a&gt; | Frankfurt, Germany | Take-home project followed by face to face interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://eworx.gr/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EWORX&lt;/a&gt; | Athens, Greece | Take-home project and discussion.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://exmox.com/career&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Exmox&lt;/a&gt; | Hamburg, Germany; Remote | Video call with our CTO, then a technical discussion around a project of your choice or a take-home project.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://exoscale.ch&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Exoscale&lt;/a&gt; | Lausanne, Switzerland | Take-home project. Discussion and presentation. Then entire team meet.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.extend.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Extend&lt;/a&gt; | San Francisco, CA; Dallas, TX; Remote | Phone call, a take home project similar to making a PR at work, then a meet &amp;amp; greet with the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.eyevinntechnology.se&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Eyevinn Technology&lt;/a&gt; | Stockholm, Sweden | Remote or face 2 face interview followed by take-home project. Then a discussion on-site where we go through the technical aspects of the project.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://fdex.com.br&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;F(x)&lt;/a&gt; | São Paulo, Brazil | Skype interview, Take-home project and onsite interview to evaluate the candidate&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.facebook.com/careers/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Facebook (Front End Engineer)&lt;/a&gt; | Tel Aviv, Israel; London, UK; US: Menlo Park, CA; Seattle, WA; Washington, DC | Initial phone code interview, then on site interview (or remote when not possible) with code and design / architecture interviews. All questions are based on actual problems the company has solved in the past.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.facile.it&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Facile.it&lt;/a&gt; | Milan, Italy; Cagliari, Italy; Remote | Initial call/Skype interview with HR. Tech interview about OOP concepts, HTTP and REST API design questions with 2 engineers. Brief talk with VP of Engineering or CTO.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://fairwinds.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fairwinds&lt;/a&gt; | Remote | Start with a brief talk with CTO or VP of Engineering, take home coding challenge, then remote interviews with several people on the engineering team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.falcon.io/jobs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Falcon.io&lt;/a&gt; | Copenhagen, Denmark | Initial call/Skype culture interview. Take-home tech assignment (game) and code review. On-site Interview about your experience and meeting the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.fastbill.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FastBill&lt;/a&gt; | Frankfurt, Germany | Initial interview via Skype/Zoom. Small tech-home project based on the specific job. Afterwards code review and technical discussion.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.fatmap.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FATMAP&lt;/a&gt; | London, UK; Berlin, Germany; Vilnius, Lithuania | Skype discussion, Take-home project, Face to face&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://fauna.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fauna&lt;/a&gt; | San Francisco, CA / Remote | Take home project, then follow up with interviews on-site or remote. Interviews are both technical and non-technical. Technical interviews comprehend the scope of the home project.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://boards.greenhouse.io/fetchrewards&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fetch Rewards&lt;/a&gt; | Remote | Short take-home project. 50 min screening interview that includes discussion of project. 5.5 hr (w/ breaks) final interview that involves speaking with your future manager and a non-technical product manager, a real-world coding problem, and high-level and low-level system design problems.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://field33.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Field 33&lt;/a&gt; | Berlin, Germany | Video call interview followed by a take home project over a 3 day duration chosen by the candidate with hours spent up to the candidate. The project is tailored to the position and skill level of the candidate and resembles a past real-life problem encountered at our company. Solution is discussed in a ~30min call.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.filestage.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Filestage.io&lt;/a&gt; | Stuttgart, Germany; Remote | Intro call, Take home technical assessment, Tech discussion on assessment and interview with Head of Development and an Engineer, Meeting with founders&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.findy.co.jp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Findy&lt;/a&gt; | Tokyo, Japan | Tech interview + On-site discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.wearefine.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FINE&lt;/a&gt; | Portland, OR | Small take-home challenge + follow-up discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://firehire.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FireHire&lt;/a&gt; | Wilmington, USA / Remote | Soft Skills Check + Hard Skills Check with lead engineer.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.firemind.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Firemind&lt;/a&gt; | Maidstone, UK; London, UK; Remote | Small pre-interview challenge on github + discussion face to face in person or via video&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://thefitbot.com/careers.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fitbot&lt;/a&gt; | Boulder, CO | Pairing &amp;amp; writing code with the founders for a few hours&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://flatfox.ch&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Flatfox&lt;/a&gt; | Zurich, Switzerland | Informal conversation to check mutual fit, small (4h) take-home assignment, discussion in team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://flower.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Flower Labs&lt;/a&gt; | Cambridge, UK; Berlin, Germany; Remote | Reach out to us by email or on Slack with your CV. You&amp;rsquo;ll receive a written interview which should take 15min to 30min to complete, after which we&amp;rsquo;ll schedule at most 2x technical video interviews with a potential take-home assignment in between. Alternatively, you share the Open-Source code you have written so we can discuss that.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://fluidly.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fluidly&lt;/a&gt; | London, UK | Casual 30min phone call. ~1hr take home tech exercise (not pass or fail). 1 stage onsite interview - discussion about experience, 1 hour pair programming on the real code base, then your turn to interview us!&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://fold.money&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fold&lt;/a&gt; | Bangalore, India; Remote | Phone call, followed by a small take home problem. Finally a F2F or Zoom pair programming session&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.fonoa.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fonoa&lt;/a&gt; | Remote | Phone call, async questions regarding expectations and past experience, interview regarding communication and principles, async work sample, interview and AMA with CTO, interview with one of the founders&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://food52.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Food52&lt;/a&gt; | New York, NY; Remote | Take-home project, discussion on-site or remote, interviews with both technical and non-technical staff&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://fooji.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fooji&lt;/a&gt; | Lexington, KY; Remote | Take-home project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.form3.tech/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Form3&lt;/a&gt; | Remote | Preliminary call, take-home project, three stage interview (code review, technical assessment and debugging exercise)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.formidable.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Formidable Labs&lt;/a&gt; | Seattle, WA; London, UK; Remote | Take-home project, remote pair programming, discussion on-site or remote&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://fortumo.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fortumo&lt;/a&gt; | Tallinn, Estonia; Tartu, Estonia | After a 30-min call you get a simplified version of a task that has recently been a challenge for the engineering team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://founders.as/joinus&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Founders&lt;/a&gt; | Copenhagen, Denmark | Take Home project + Interviews&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.foundryinteractive.com/contact&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Foundry Interactive&lt;/a&gt; | Seattle, WA | On-site or remote discussion, paid trial project with pairing and code reviews&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.fournova.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;fournova&lt;/a&gt; | Remote | Take-home project, discussion via video call&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.fourthwall.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fourthwall&lt;/a&gt; | Poznan, Poland; Remote | Paid take home, simple project. One technical interviews (how to build, solve specific, real world problem).&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://frappe.io/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Frappe&lt;/a&gt; | Mumbai, India; Remote | Take-home project, a short pair programming exercise, discussion and interview with members of the Engineering team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.freeagent.com/company/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FreeAgent&lt;/a&gt; | Edinburgh, UK | Take-home project, pair programming, discussion and interviews&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.freeletics.com/en/corporate/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Freeletics&lt;/a&gt; | Munich, Germany | Small real-world challenge, multiple interviews on-site/remote and social gathering with team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.freetrade.io/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Freetrade&lt;/a&gt; | London, England | Initial hangout with fizz buzz style question followed by an on-site real world coding question and systems design conversation.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://friday-jobs.personio.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FRIDAY&lt;/a&gt; | Berlin, Germany | Take-home real-world challenge, interview on-site or remote&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://frontside.io/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Frontside&lt;/a&gt; | Austin, Texas | Phone interview with remote pairing session. Followed by in person pairing (paid for the day) and lunch with the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.fullfacing.com/vacancies&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Full Facing&lt;/a&gt; | Cape Town, South Africa | Take-home real-world challenge, interview on-site or remote&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.funda.nl/vacatures&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Funda&lt;/a&gt; | Amsterdam, The Netherlands | Take Home test + Discussion On-Site/Remote&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.fundapps.co/about-us/join-our-team&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FundApps&lt;/a&gt; | London, UK | Coffee with an Engineer; take-home kata; code review + on-site pair programming exercise.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;g---i&#34;&gt;G - I
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.garmin.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Garmin&lt;/a&gt; | Tucson, AZ | Non-technical phone screen, technical phone screen (questions about projects on your resume), in-person interview: programming an arduino, given 3 hours and a laptop with internet access&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.garnercorp.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Garner&lt;/a&gt; | Toronto, Canada | step 1: online chat with hiring manager, step 2: at home assignment solving real-life problem, step 3: on-site pair programming with engineers, step 4: offer&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.gasketgames.com/work-with-us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Gasket Games&lt;/a&gt; | Vancouver, Canada | Non-technical phone screen, technical phone screen (open-ended questions), in-person interview / culture fit interview&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gathercontent.com/about-us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GatherContent&lt;/a&gt; | Remote | Culture-first interviews, pair programming and remote, informal technical discussions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gcore.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Gcore&lt;/a&gt; | Remote | Non-technical screening, 2 hours technical and soft skills interview including architecture discussion&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gemini.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Gemini&lt;/a&gt; | New York, NY | Phone chat. Take-home project, discussion on-site. Questions on prior experiences and culture fit&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.genui.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GenUI&lt;/a&gt; | Seattle, WA | A short phone screen with questions regarding general knowledge related to the open position, then a half day pair programming interview.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.geosite.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Geosite&lt;/a&gt; | Remote | Phone chat -&amp;gt; Take home project resembling the team focus -&amp;gt; Discussion about takehome &amp;amp; culture fit.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://ghostinspector.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ghost Inspector&lt;/a&gt; | Remote | Video interview, short (under 2 hour) take-home project, and team video interview&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.ginetta.net&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ginetta&lt;/a&gt; | Zurich, Switzerland; Braga, Portugal | Culture-first interviews, take home assignment that resembles a real-world problem we often solve, then discussion about the assignment in-person with pair-programming improvement sessions with our developers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/about/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub&lt;/a&gt; | Remote; San Francisco, CA; Boulder, CO| Take-home exercise, code review and technical discussions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://about.gitlab.com/jobs/apply/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitLab&lt;/a&gt; | Remote | A series of video calls, and a coding exercise involving working on a Merge Request that is like a real work task&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glassdoor.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Glassdoor&lt;/a&gt; | Remote; San Francisco, CA; Chicago, IL; Uniontown, OH | A series of video calls, some coding exercises involving real world problems (Styling a page with CSS, Using JavaScript to fetch data from an API and display on a page.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://glints.com/sg/inside/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Glints&lt;/a&gt; | Singapore, Singapore; Jakarta, Indonesia | Culture fit interview, take home assignment that resembles a real-world problem, walkthrough about the assignment&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gmfinancial.com/en-us/company/careers.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GM Financial&lt;/a&gt; | Irving, TX; Remote | Roles under &lt;a class=&#34;link&#34; href=&#34;https://globalcareers-gmfinancial.icims.com/jobs/search?ss=1&amp;amp;searchKeyword=Software&amp;#43;Development&amp;#43;Engineer&amp;amp;searchCategory=8741&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Marketing Technology team&lt;/a&gt; are 100% remote and only have HR Screening + 2 rounds: 1st round: Technical conversation with an architect and a senior engineer regarding candidate&amp;rsquo;s experience and how that matches up to the role. Final round: cultural/behavioral interview with hiring manager.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://goalbookapp.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Goalbook&lt;/a&gt; | Remote | Virtual interviews with recruiter, sr engineer, and hiring manager. Short real-world take-home project w/ follow-up conversation. Final interviews w/ CEO/Founder and Product team lead.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gocardless.com/about/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GoCardless&lt;/a&gt; | London, UK | Project to work at home, general technical questions, pair programming with engineers&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.gojek.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GoJek&lt;/a&gt; | Bangalore, India; Jakarta, Indonesia; Singapore, SG; Bangkok, Thailand | Take-home exercise, Pair programming with senior engineer, Technical problem solving and discussion, Cultural Fit&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gower.st&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Gower Street Analytics&lt;/a&gt; | Remote; London, UK | Initial telephone chat, then either a) work with us, fully paid, for a day on real code with the team; or b) pair-programming on a code kata with the team members for four pomodoros. Your choice.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.graffino.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Graffino&lt;/a&gt; | Sibiu, Romania | Take-home project, discussion on-site&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://graftonstudio.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Grafton Studio&lt;/a&gt; | Boston, MA | Take-home project, discussion on-site&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gram.gs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Gram Games&lt;/a&gt; | London, UK / Istanbul, Turkey | Initial interview -&amp;gt; Take home -&amp;gt; Take home discussion call -&amp;gt; On site code review and technical discussions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.gramercytech.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Gramercy Tech&lt;/a&gt; | New York, NY | Pair programming &amp;amp; discussion on-site&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.grandcentrix.net/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;grandcentrix&lt;/a&gt; | Cologne, Germany | Take-home project, discussion on-site&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.chatgrape.com/jobs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Grape&lt;/a&gt; | Vienna, Austria / Remote | GitHub or code samples -&amp;gt; Pair programming -&amp;gt; Skype/phone interview&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://graph.digital&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Graph Digital&lt;/a&gt; | London, UK | Initial screening call with Engineering Manager, take-home challenge or bring your own project, discussion about solution/project and past experience with two engineers, culture fit interview.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.graphicacy.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Graphicacy&lt;/a&gt; | Washington, DC | Phone interview; in-person or virtual interview depending on location and availability; two brief technical assignments focused on flexibility, creativity, and general competency&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.graphistry.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Graphistry&lt;/a&gt; | San Francisco, CA; Remote | Discuss product/market, engineering, and culture, review past code/project, and for junior developers, choice of take home or code review.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://greatminds.recruitee.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Great Minds, PBC&lt;/a&gt; | Washington, DC | Zoom interview, technical interview discussing past real world experiences as well as knowledge of tools that will be used for position&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gridscale.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Gridscale&lt;/a&gt; | Cologne, Germany / Remote | Intro video call for open Q&amp;amp;A, followed by intro with hiring manager, team fit with the whole team plus a small real-world problem to solve, followed by final round with hiring manager and/or c-level/founder.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.gruntwork.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Gruntwork&lt;/a&gt; | Remote | Paid, take-home project with pair coding&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://gtmsportswear.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GTM Sportswear&lt;/a&gt; | Manhattan, KS / Remote | Remote pairing session, then a take-home test.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://hacktiv8.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hacktiv8&lt;/a&gt; | Jakarta, Indonesia | Phone call for quick project &amp;amp; personal introduction followed by Video call interview with project owner for discussion about the project and general question on how the project should be solved.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://happyteam.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Happy Team&lt;/a&gt; | Warsaw, Poland; Remote | General technical questions, takehome paid exercise with feedback/discussion during implementation&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.happypie.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Happypie&lt;/a&gt; | Uppsala, Sweden | Takehome exercise with code review after, in-person interview&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://lil.law.harvard.edu/collaborate/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Harvard Library Innovation Lab&lt;/a&gt; | Cambridge, MA | Take home project that mirrors work we might do on a &lt;a class=&#34;link&#34; href=&#34;https://lil.law.harvard.edu/sketches/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sketch&lt;/a&gt; and follow up discussion after.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.hash.com.br/index.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hash&lt;/a&gt; | Sao Paulo, Brazil | Take-home project and/or discussion (on-site or remote)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://hashnode.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hashnode&lt;/a&gt; | Remote | Phone/video call interview for quick personal introduction -&amp;gt; a take-home coding exercise based on real world example -&amp;gt; take-home task discussion -&amp;gt; culture fit session.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://hashrocket.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hashrocket&lt;/a&gt; | Chicago, IL/Jacksonville Beach, FL | Remote pairing session, paid week pair programming with everyone on the team&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://heavenhr.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HeavenHR&lt;/a&gt; | Berlin, Germany | Take home project based on the candidate&amp;rsquo;s experience and future responsibilities. Then discussion about the solution&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://helabs.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HE:labs&lt;/a&gt; | Rio de Janeiro, Brazil &amp;amp; Remote | Take-home project and discussion via Skype.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.hellofresh.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HelloFresh&lt;/a&gt; | Berlin, Germany | Take-home project, discussion via Skype or on-site&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://herodigital.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hero Digital&lt;/a&gt; | San Francisco, CA; Remote | Take-home project with code review, multiple (non-technical) interviews with different areas of the company about past projects and experience&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://heroku.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Heroku&lt;/a&gt; | Remote | Timeboxed independent project on GitHub, discussion/debrief of project via Hangouts, productionization discussion via Hangouts, &amp;ldquo;meet the team&amp;rdquo; meeting&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.hhcc.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hill Holliday&lt;/a&gt; | Boston, MA | Take-home project on GitHub, in-person interview / culture fit interview&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.hingehealth.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hinge Health&lt;/a&gt; | Portland, OR; San Francisco, CA; Seattle, WA; Austin, TX; Denver, CO; Montreal, Québec &amp;amp; Remote | Resume deep dive, take-home exercise on GitHub, (virtual) in-person including review of the take-home exercise (1hr), product collaboration, meet the team, and AMA with leadership&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.hireology.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hireology&lt;/a&gt; | Chicago, IL; Remote | Walk through personal/work projects and discuss experience&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.hiventive.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hiventive&lt;/a&gt; | Pessac, France | Phone interview, home coding challenge, on-site interview with general programming questions, discussion of proposed solutions and personal experience.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.holaluz.com/en/work-with-us/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Holaluz - Platform Team&lt;/a&gt; | Barcelona, Spain | Intro call with HHRR, Small tech test with Terraform and some technical and non-technical questions, Interview with manager, Interview with the Platform Team, Small chat interview with the CEO.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://holidaypirates.group/en/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HolidayPirates&lt;/a&gt; | Berlin, Germany | Take-home project, discussion via Skype or on-site&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.holobuilder.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HoloBuilder&lt;/a&gt; | Aachen, Germany | Take-home project, discussion via Skype or on-site&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.hologram.io/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hologram&lt;/a&gt; | Chicago, IL; Remote | Intro call, take-home project taken from production work, pair programming exercise&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.homechef.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Home Chef&lt;/a&gt; | Chicago, IL; Remote | Get-to-know-you meeting with the team, followed by a half-day collaborative coding session&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.homelight.com/engineering&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HomeLight&lt;/a&gt; | San Francisco, CA; Scottsdale, AZ; Seattle, WA | Phone screen, take home that is close to production code, onsite with pair programming&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.hotjar.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hotjar&lt;/a&gt; | Remote | Short introduction call -&amp;gt; Technical interview with engineers on real-world problems/system design -&amp;gt; Paid short take-home task -&amp;gt; Team fit interview, EMEA timezones preferred&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://housemarque.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Housemarque&lt;/a&gt; | Helsinki, Finland | Interview, take-home project, then interview and code review on-site&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.hoxhunt.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HoxHunt&lt;/a&gt; | Helsinki, Finland | Take-home project, pair programming on-site&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://humanapi.co/company/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Human API&lt;/a&gt; | Redwood City, CA | Technical phone interview, then on-site pair programming and design discussion&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://humi.applytojob.com/apply&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Humi Inc&lt;/a&gt; | Toronto, Canada | Interview, take-home project, then interview and code review on-site&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://io.co.za/opportunities&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;I|O&lt;/a&gt; | Cape Town, South Africa&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://icalialabs.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Icalia Labs&lt;/a&gt; | Monterrey, Mexico | Pair programming, cultural fit session&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://ideamotive.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ideamotive&lt;/a&gt; | Warsaw, Poland &amp;amp; Remote | Take-home project, technical interview with developer&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ideo.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;IDEO&lt;/a&gt; | San Francisco, CA; New York, NY; Chicago, IL; Cambridge, MA | Take home project that resembles a problem IDEO solves for, then pairing session in person or over video chat.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://boards.greenhouse.io/scout24&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ImmobilienScout24&lt;/a&gt; | Berlin, Germany | Take-home project, discussion on-site&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://jobs.impraise.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Impraise&lt;/a&gt; | Amsterdam, The Netherlands | Take home test, real world pair programming&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.indellient.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Indellient&lt;/a&gt; | Oakville, Canada | Series of interviews both technical and non-technical&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.infarmbureau.com/home-office&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Indiana Farm Bureau Insurance&lt;/a&gt; | Indianapolis, Indiana | series of interviews with team, followed by an interview with manager&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://inevitableinnovations.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;INEVITABLE&lt;/a&gt; | Manchester, UK | Take-home project, discussion on-site&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.influxdata.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;InfluxData&lt;/a&gt; | San Francisco, CA &amp;amp; Remote | Technical and non-technical interviews, pair programming, with prospective manager and multiple prospective teammates&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.infosum.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;InfoSum&lt;/a&gt; | Basingstoke, UK | On-site unsupervised exercise &amp;amp; discussion.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://inkindcapital.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;inKind Capital&lt;/a&gt; | Boulder, CO | Discussing real-world problems, pair programming, dinner &amp;amp; drinks with the team&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.inmar.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Inmar&lt;/a&gt; | Winston-Salem, NC; Austin, TX &amp;amp; Remote | Take-home project and conversation-style interviews&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.innoplexus.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Innoplexus&lt;/a&gt; | Pune, India; Frankfurt, Germany | Take-home projects and On-site pair programming assignment.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.innoviacolabs.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Innovia CoLabs&lt;/a&gt; | Rochester, NY / Remote | Zoom interview with two to three engineers and you share projects/code you&amp;rsquo;re proud of; only reviewing code you wrote yourself. Most of the interview is about culture fit and who you are as a person. There is a blog on the website that outlines the interview and will contact you prior to tell you exactly what the interview will be like.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://internshala.com/internships/internship-at-InstantPost&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;InstantPost&lt;/a&gt; | Bangaluru, India | Remote assignment followed by Technical and Team round interview&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.integral.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Integral.&lt;/a&gt; | Detroit, MI | 3-step process (100% remote): tech-screening with an engineer for 30 minutes, remote pair-programming and test driven development exercise for 1 hour, conversation with engineering leadership for 30 minutes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.intelipost.com.br&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Intelipost&lt;/a&gt; | São Paulo, BR | Take-home project, on-site code review and presentation (skype available if needed), discussion involving real world problems and interviews with different teams&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://interfrog.de/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Interfrog Produktion GmbH&lt;/a&gt; | Mannheim, Germany | Phone interview with developer and CEO to get to know each other and to understand skills and background. Follow-up interview to discuss technical realization of sample work which is handed over after the first interview.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.investsuite.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;InvestSuite&lt;/a&gt; | Remote; Leuven, Belgium | Take home project -&amp;gt; discuss with 2 developers on-site or remote -&amp;gt; job offer&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.ionos.de/career/about-us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;IONOS SE&lt;/a&gt; | Karlsruhe, Germany; Berlin, Germany | Our process has two stages for developers: An interview with your potential team lead followed by an interview with 1-2 future colleagues. All stages can be in-person in one of our offices or via Google Meet.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://itexperts.be&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;IT Experts&lt;/a&gt; | Eeklo, Belgium | On site interview -&amp;gt; 1 or 1/2 day at the office to solve a real world problem with the team -&amp;gt; job offer.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://itdesign.de/karriere/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;itdesign&lt;/a&gt; | Tübingen, Germany | Short phone or personal interview. A day at our company to give you and us the opportunity to get to know each other.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ithaka.travel&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ithaka&lt;/a&gt; | Mumbai, India | Phone interview followed by a small development task. Finally a phone interview with CEO.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://itrellis.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;iTrellis&lt;/a&gt; | Seattle, WA | Phone screen, then a take-home project, then pairing (remote or on-site) with 3 developers on the take-home project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.izettle.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;iZettle&lt;/a&gt; | Stockholm, Sweden | Remote pair programming exercise, propose an architecture for an application and discuss about it in an informal format.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;j---l&#34;&gt;J - L
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.jamasoftware.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jamasoftware&lt;/a&gt; | Portland, OR | Initial phone screen with hiring manager. In person pairing on project similar to day-to-day work with a separate cultural interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jamitlabs.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jamit Labs&lt;/a&gt; | Karlsruhe, Germany | Phone interview or on-site interview &amp;amp; take-home code challenge or on-site programming session&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://iheartjane.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jane Technologies (iheartjane.com)&lt;/a&gt; | Santa Cruz, CA; Remote | Short take-home challenge, followed by practical interviews based on position the applicant is seeking&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.jeli.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jeli&lt;/a&gt; | Remote; San Francisco, CA | A series of conversations involving product deep dive, technical discussions, and behavioral topics. Discussions are open ended conversations about how one would approach solving real world problems. Questions may be scenario based involving talking through tradeoffs.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.jetstack.io/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jetstack&lt;/a&gt; | London, UK | Phone screen; shared terminal session on Linux &amp;amp; Programming; Take home task&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.jiminny.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jiminny&lt;/a&gt; | Sofia, Bulgaria | Phone screen. Take-home exercise. Follow-up discussion.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.jitbit.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jitbit&lt;/a&gt; | Remote; London, UK; Tel-Aviv, Israel | Take-home real-world task&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://weare.jobtome.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jobtome&lt;/a&gt; | Stabio, Switzerland | Phone screen introduction with hiring manager. In site (or screen call) with Engineer Manager for a talk on skills and cultural fit.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://journaltech.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Journal Tech&lt;/a&gt; | Los Angeles, CA | Mini take-home project, phone interview, discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.jplusplus.org&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Journalism++&lt;/a&gt; | Berlin, Germany | Apply through a &lt;a class=&#34;link&#34; href=&#34;http://internship.jplusplus.org&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;relevant online challenge&lt;/a&gt; to show your technical skills and your capacity to investigate&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.lever.co/JOURNEE&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;JOURNEE&lt;/a&gt; | Berlin, Germany / Remote | Cultural fit assessment, Interview, Take-home assignment.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nl.jobs.jumbo.com/nl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jumbo&lt;/a&gt; | Veghel, Netherlands | Culture Fit call, take-home project, design discussion based on take-home project, system design conversation online or in-person.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.justwatch.com/us/talent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;JustWatch&lt;/a&gt; | Berlin, Germany | Take-Home project, discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.khealth.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;K Health&lt;/a&gt; | Tel Aviv, Israel | Phone screening to discuss technical background and past experience. Take-home assignment followed by on-site code review and interview. Cultural fit assessment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.getkahoot.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kahoot!&lt;/a&gt; | London, UK / Oslo, Norway | Phone screening to discuss technical background and past experience. Take-home assignment followed by on-site code review and interview. Cultural fit assessment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://kata.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kata.ai&lt;/a&gt; | Malang, Indonesia / Jakarta, Indonesia | Take-home assignment, then invited to discuss the assignment and interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.kayako.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kayako&lt;/a&gt; | London, UK / Gurgaon, India | Take-home assignment, series of experience based interviews, cultural fit assessment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.kefrobotics.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KEF Robotics&lt;/a&gt; | Pittsburgh PA, USA | Presentation on a technical topic of your choice, cultural fit assessment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.kentik.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kentik&lt;/a&gt; | San Francisco, CA | Phone screening to discuss technical background and past experience. Take-home assignment followed by on-site code review and interview. Cultural fit assessment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://keymetrics.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Keymetrics&lt;/a&gt; | Paris, France | Phone Interview, Take-home project based on our &lt;a class=&#34;link&#34; href=&#34;https://github.com/keymetrics/keymetrics-api&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;API&lt;/a&gt;, IRL meeting with the whole team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.kienguru.vn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kiến Guru&lt;/a&gt; | Hồ Chí Minh, Vietnam | Phone screening with technical recruiter &amp;ndash;&amp;gt; live coding with an engineer &amp;ndash;&amp;gt; panel interview with related engineers (Test Engineers, Frontend Engineers, Backend Engineers, etc) &amp;ndash;&amp;gt; final interview with VP of Engineering&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.kindredplc.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kindred Group, Native Apps Team&lt;/a&gt; | Stockholm SE, London UK | On-site/Skype programming task, Interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.kinnek.com/jointeam&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kinnek&lt;/a&gt; | New York, NY | Phone screen, on-site pairing session, take-home project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://kinsta.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kinsta&lt;/a&gt; | Remote | Culture fit interview, take home assignmentv, discussion on-site, technical interview discussing past real world experiences as well as knowledge of tools that will be used for position&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.kiwi.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kiwi.com&lt;/a&gt; | Brno, Czech Republic | Phone Interview, Take-home projects, On-site code review &amp;amp; interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.knock.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Knock.com&lt;/a&gt; | San Francisco, CA / New York, NY / Remote | Phone Interview, Take-home project, On-site technical conversation relating to the tech stack you would be hired to build with&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knplabs.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KNPLabs&lt;/a&gt; | Nantes, France | First step: screening call directly with the CEO, to discuss company vision, assess cultural fit and experience. Second step: call or IRL interview with a developer and a project facilitator , technical discussions with focus on soft skills. The goal of the interview is for the 2 KNPeers to be able to answer: “Do I want to work with this person ?” If both say yes, the person is hired. If even at least one says no, the person is not hired.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.koala.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Koala&lt;/a&gt; | Remote | Phone screen. Open-ended take-home coding challenge. Pair Programming exercise. Meet the CEO and the rest of team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://kodify.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kodify&lt;/a&gt; | Remote | HR interview, technical interview, take-home test related to role, technical interview about the test&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.gokoho.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Koho by Expeditors&lt;/a&gt; | Portland, OR | Phone screening. Take home assignment. Conversational technical and cultural interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.konghq.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kong&lt;/a&gt; | San Francisco, CA | Phone interview. Pairing and technical interviews. Take home assignment.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.kongregate.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kongregate&lt;/a&gt; | Portland, OR | Phone screening. Take home project. On-site pairing and conversational technical interviews.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://kontainer.com/vacant-positions-in-kontainer-job-and-career&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kontainer&lt;/a&gt; | Copenhagen, Denmark | Phone screening. Practical questions on how past experience matches the job position. On-site technical interviews with lead engineers.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://lightning.korbit.co.kr&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Korbit&lt;/a&gt; | Seoul, South Korea | Take home assignment followed by on-site code review and interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://kulkul.tech/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kulkul Tech&lt;/a&gt; | Jakarta, Indonesia | Take home and an in-person system design interview, then soft skills and culture assessment via interviews with the senior leadership team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.kungfu.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;KUNGFU.AI&lt;/a&gt; | Remote; Austin, TX | 30-40 minute recruiter screen, 30 minute hiring manager screen, 1.5 hour final interview (discussion only, no coding or whiteboarding).&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://lab.coop&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lab.Coop&lt;/a&gt; | Budapest, Hungary | Partnership-fit discussion, code-review and trial days.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.lab49.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lab49&lt;/a&gt; | New York, NY; Washington, DC; London, UK; Sydney, AU | First interview - Pairing interview using Codility. Final interviews that include a coding challenge.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://landing.jobs/at/landing-jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Landing.jobs&lt;/a&gt; | Lisbon, Portugal | Interviews (in-person or remote), Take home coding project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://lattice.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lattice&lt;/a&gt; | San Francisco, CA; New York, NY; Remote | Technical exercises based on work we do at Lattice, discussion of a new architecture to solve a real world problem&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://launchacademy.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Launch Academy&lt;/a&gt; | Boston, Philadelphia | Nontechnical phone screen, pair programming with team member, and potentially a &amp;ldquo;guest lecture&amp;rdquo; for our students&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://launchdarkly.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LaunchDarkly&lt;/a&gt; | Oakland, CA | Informational phone screen with Eng leadership, take home project, onsite interviews&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://league.com/ca/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;League&lt;/a&gt; | Toronto, Canada | Initial interview with talent team, take home coding challenge &amp;amp; technical interview to discuss, take home architecture challenge &amp;amp; interview to discuss, cross-functional interview, executive interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://leapsome.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Leapsome&lt;/a&gt; | Berlin, Germany | Phone screen with technical co-founder, take home case study, onsite culture-fit interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://learningbank.dk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Learningbank&lt;/a&gt; | Copenhagen, DK | Take home assignment, followed by on-site code review.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.legalstart.fr&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Legalstart.fr&lt;/a&gt; | Paris, France | Telephone interview followed by take-home challenges. Suitable applicants are asked to do further on-pair interviews on site.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.leverton.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Leverton&lt;/a&gt; | Berlin, Germany | Initial chat with the HR continued with 1-2 rounds chat with the team; followed by a technical test and finally a chat with the CTO/MD. &lt;a class=&#34;link&#34; href=&#34;https://leverton-jobs.personio.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Jobs page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.libertymutualgroup.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Liberty Mutual&lt;/a&gt; | Seattle, WA; Boston, MA; Indianapolis, IN | Initial interview, discussion on-site, interview with peers&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.librato.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Librato&lt;/a&gt; | San Francisco, CA; Boston, MA; Austin, TX; Vancouver, Canada; Krakow, Poland | Take home coding project, conversational technical interviews on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://lightningjar.agency&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lightning Jar&lt;/a&gt; | San Antonio, Tx | Remote pairing session, Initial interview,discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.lightricks.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lightricks&lt;/a&gt; | Jerusalem, Israel | Initial interview, Take home project, discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.linkaja.id&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LinkAja&lt;/a&gt; | Jakarta, Indonesia | Quick introductory chat, followed by take home project for 7 days&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.linkresearchtools.com/job-offers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LinkResearchTools&lt;/a&gt; | Vienna, Austria | Skype interview, mini take-home exercise, discussion on-site / personal interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.linxsystems.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Linx Systems&lt;/a&gt; | Bloomington, IL / Remote | 5-10 minute take home project; followed by a non-technical interview; finish up with a second take home project or paired with a developer for a 30-60 minute session.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.lise.de/karriere/stellenboerse&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;lise GmbH&lt;/a&gt; | Cologne, Germany | Phone interview, followed by getting to know each other in person, a short presentation about any topic you are interested in, pair programming on a real world problem&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.listenlively.com/about#careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Listen Lively&lt;/a&gt; | Remote | 1 hour pair programming exercise on codesandbox; a second 1 hour pair programming exercise on codesandbox; followed by non-technical interview(s) with team members.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://listium.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Listium&lt;/a&gt; | Melbourne, Australia | Design and code proof of concept features with the team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://litmus.com/careers#openings&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Litmus&lt;/a&gt; | Remote | General technical questions, take-home code challenge, discussion, on-site programming session, meet &amp;amp; greet with the team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.littlethings.com/careers.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LittleThings&lt;/a&gt; | New York, NY | Take home code challenge, Discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://loanzen.in/team.html#Career&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LoanZen&lt;/a&gt; | Bengaluru, India | Initial phone interview about experience, a solve-at-home project based on the kind of work we do at our company, on-site interview discussing the submitted solution and a general discussion with the whole team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://lob.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lob&lt;/a&gt; | San Francisco, CA | Initial phone screen followed by an on-site interview. Technical problems discussed during the interview are all simplified versions of problems we&amp;rsquo;ve had to solve in production. Our entire interview process and what we&amp;rsquo;re looking for is described in our blog post &lt;a class=&#34;link&#34; href=&#34;https://lob.com/blog/how-we-interview-engineers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How We Interview Engineers&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.locastic.com/posao&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Locastic&lt;/a&gt; | Split, Croatia | Take-home code challenge, technical discussion &amp;amp; on-site programming session, meet &amp;amp; greet with the team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.locaweb.com.br/carreira&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Locaweb&lt;/a&gt; | São Paulo, Brazil | Skype interview, take-home project and discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.logiball.de/en/jobs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LOGIBALL GmbH&lt;/a&gt; | Berlin, Hannover and Herne in Germany | Interviews and discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://logicsoft.co.in&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Logic Soft&lt;/a&gt; | Chennai, India | Phone discussion, F2F pair programming exercise + discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.lonres.com/public/working-us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LonRes&lt;/a&gt; | London, United Kingdom | Quick introduction call with tech (Skype), coding task for ≈1 hour, face-to-face interview (or via Skype) and meeting with team members.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.pathfactory.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LookBookHQ&lt;/a&gt; | Toronto, Canada | On-site discussion, pair programming exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.useloom.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Loom&lt;/a&gt; | San Francisco, CA | Google Hangouts resume dive on past experience, take-home project OR architectural phone screen, on-site interviews (2 technical architecture related to work, 1 or 2 non-technical)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://oiluna.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Luna&lt;/a&gt; | Sao Paulo, Brazil | Take-home project and/or discussion (on-site or remote)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.lyft.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lyft&amp;rsquo;s Mobile Team&lt;/a&gt; | San Francisco, CA; Seattle, WA; New York, NY; Minsk, Belarus; Mexico City, Mexico | On-site project, discussion of candidate&amp;rsquo;s completed project afterwards&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://lykon.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lykon&lt;/a&gt; | Berlin, Germany | Phone interview followed by home assignment that reflect our daily work and then on-site interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.lyoness-corporate.com/de-AT/Karriere/Jobangebote&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lyoness Austria GmbH&lt;/a&gt; | Graz, Austria | Take-Home project, discussion on-site&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;m---o&#34;&gt;M - O
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.madetech.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Made Tech&lt;/a&gt; | London, UK | &lt;a class=&#34;link&#34; href=&#34;https://github.com/madetech/handbook/tree/master/guides/hiring#20-minute-phone-conversation&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Our hiring process&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://magical.team/work&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Magical&lt;/a&gt; | Tel Aviv, Israel; Remote | Culture fit interview + take home assignment, followed by a technical interview, and a CTO interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://magnetis.workable.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Magnetis&lt;/a&gt; | São Paulo, Brazil &amp;amp; Remote | Phone interview + take home assignment, followed by pair programming and informal meeting with the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers-mlssoccer.icims.com/jobs/search?ss=1&amp;amp;searchCategory=20285&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Major League Soccer&lt;/a&gt; | New York, NY | Phone interview + short take home project, which is daily work focused. In person interview could involve discussing past projects or pair programming.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.makemusic.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MakeMusic&lt;/a&gt; | Boulder, CO; Denver, CO | Phone screen, take home project, remote and on-site interviews for technical and cultural fit&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://maketime.workable.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MakeTime&lt;/a&gt; | Lexington, KY | Practical exercise and/or a pairing session on site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.mango-solutions.com/wp/about-mango/team&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mango Solutions&lt;/a&gt; | London (UK), Chippenham (UK) | Initial phone interview, followed by on-site interview with take-home assignment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.mapbox.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mapbox&lt;/a&gt; | San Francisco, CA; Washington, DC; Ayacucho, Peru; Bangalore, India; Berlin, Germany; Remote | Conversational interviews, paid onsite project with team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://mattermost.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mattermost&lt;/a&gt; | Remote | Follow-up questions over email, a couple of video calls, audition (paid real-world “try out” project), video call to discuss audtion, and then a video call with the CTO&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.mavenlink.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mavenlink&lt;/a&gt; | San Francisco, CA; Irvine, CA; Salt Lake City, UT | On-site pairing with multiple engineers. Pairing exercises and pairing on company code.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.maxwellhealth.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Maxwell Health&lt;/a&gt; | Boston, MA | Take-home exercise or pairing session with team. Then conversational meetings with members of the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://me-company.de/jobs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Me &amp;amp; Company&lt;/a&gt; | Düsseldorf, Germany | You join us for one or two paid trial days to work on an assignment and to meet the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://mealme.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MealMe&lt;/a&gt; | San Francisco, California | Initial introductory interview, 1 hour technical interview with CTO (real-world problem), rapid fire questions about thinking and working in a start-up.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://mediapop.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Media Pop&lt;/a&gt; | Singapore, Singapore | Take-home or unsupervised (onsite) real-world assignment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.meetrics.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Meetrics&lt;/a&gt; | Berlin, Germany | Initial interview, take-home code challenge and review&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://underthehood.meltwater.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Meltwater&lt;/a&gt; | Manchester, NH | Small take home exercise that will be presented to the team during a QA style interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://mention.workable.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mention&lt;/a&gt; | Paris, FR | Take-home small exercise followed up by on site meetings with your future coworkers&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.mercadolibre.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mercado Livre&lt;/a&gt; | São Paulo, Brazil | Phone interview with HR department, Takehome project and discussion (on-site or remote) with an interview to evaluate the candidate&amp;rsquo;s previous experience and Cultural Fit interview with a manager.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.mercatus.com/company/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mercatus&lt;/a&gt; | Toronto, Canada | Practical on-site project similar to daily work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.metro-markets.de/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Metro Markets&lt;/a&gt; | Düsseldorf, Germany | You can get to know us by joining fully remote interviews with us or you can come and visit us onsite&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.mfind.pl/dolacz-do-nas/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mfind&lt;/a&gt; | Warsaw, PL | Phone call about technical experience, Take-home project or technical test(depends on experience), Onsite interview with technical lead.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://midrive.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;miDrive&lt;/a&gt; | London, UK | Phone screen, Take-home project / technical test, Onsite interview with senior and peer.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.milchundzucker.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;milch &amp;amp; zucker&lt;/a&gt; | Gießen, Germany | Interview with direct feedback, applicants providing working sample, code review (product code or personal code of applications)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.minutemedia.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Minute Media&lt;/a&gt; | Tel-Aviv, Israel | Phone screening with engineer. On-site real-world challenge questions with two engineers. Sometimes a take-home assignment or existing code sample submission.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://miro.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Miro&lt;/a&gt; | Amsterdam, NL; Berlin, DE; London, UK | Screen-share your own IDE and code our assignment, on your terms. We share the problem 24 hours in advance, but ask you to only configure the IDE beforehand, so 100% of your coding happens during the interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://mirumee.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mirumee&lt;/a&gt; | Wroclaw, Poland; Remote | Pair programming and code review using one of the issues (or Pull Requests) in our open-source Saleor project, general discussion about programming, technology and candidate&amp;rsquo;s experience&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://mixmax.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mixmax&lt;/a&gt; | San Francisco, CA | Takehome assignment purely based on their platform, followed by phone interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://themobilereality.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mobile Reality&lt;/a&gt; | Warsaw, Poland | Interview with technical questions and practical task to do in home for 3-5 hours. Candidate has freedom in terms of project environment and setup. After few days feedback arrives in email.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.mobilecashout.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MobileCashout&lt;/a&gt; | Barcelona, Spain; Valencia, Spain | Quick introduction video call with a tech (less than 10-15 minutes). On-site open source contribution to a project of candidates choosing, paired with a tech from the team. Interview and a short questionnaire about software design and relevant technologies. Interview and presentation of the company with a HR rep.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://mobilethinking.ch&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mobilethinking&lt;/a&gt; | Geneva, Switzerland | 1 hour discussion about technical background and past experiences, preferably in-person&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://about.modeanalytics.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mode&lt;/a&gt; | San Francisco, CA | Phone interview followed by onsite pair-architecting and discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://mokahr.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MokaHR&lt;/a&gt; | Beijing, China | Take home project/challenge, then on-site programming session taken from problems we encounter at work&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.moltencloud.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Molten Cloud&lt;/a&gt; | Cambridge, MA; Remote | Technical Interview, behavioural interview with CEO, take-home challenge designed to mirror problems the company encounters&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://moneytree.jp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Moneytree Front-end Web Team&lt;/a&gt; | Tokyo, Japan | Pair programming exercise and social gathering with team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://monite.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Monite&lt;/a&gt; | Berlin, Germany | Screening interview with HR (salary expectations, career plans), take-home architectural design project (no code) and technical interview to discuss your skill set + general questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://monzo.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Monzo&lt;/a&gt; | London, UK &amp;amp; Remote | Phone interview with another engineer. Take-home assignment. Call to debrief on take-home assignment. Half-day interview (on-site or Hangouts) with three conversational sessions: (1) building on take-home test &amp;amp; real-world system design (verbal and collaborative); (2) digging into knowledge &amp;amp; understanding in 1-2 other relevant technical areas; (3) general background, teams and ways of working.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.moteefe.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Moteefe&lt;/a&gt; | London, UK &amp;amp; Remote | Interview with CTO. Take home project/challenge.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.mozilla.org/listings&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mozilla&lt;/a&gt; | San Francisco, US; Portland, US; Toronta, CA; Vancouver, CA; Berlin, DE; Remote | Deep-dive discussions on technical and mentorship problems solved in the past. No live coding. Total of 3 rounds.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://mutualmobile.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mutual Mobile&lt;/a&gt; | Austin, TX; Hyderabad, India | Technical discussion, code test based on actual work you&amp;rsquo;ll be doing, panel style discussions for cross-functional and culture-fit.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.mutualofomaha.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mutual of Omaha&lt;/a&gt; | Omaha, NE, USA | Panel Style Interviews analyzing problem solving, ability to adapt well to change, and interpersonal communication skills.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.mutuallyhuman.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mutually Human Software&lt;/a&gt; | MI, OH, WA | Collaborative problem analysis and design exercise, pairing exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://mux.com/jobs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mux&lt;/a&gt; | San Francisco, CA; London, UK &amp;amp; Remote | Hands-on software engineer and system-design interviews that focus on collaboratively building practical applications at scale.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://mytaxi.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;My Taxi&lt;/a&gt; | Hamburg, Germany | Video chat with HR, Take Home Assignment, Review of Assignment with a technical member, Technical interview and onboarding.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.myheritage.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MyHeritage&lt;/a&gt; | Or Yehuda, Israel; Kyiv, Ukraine | Video call with HR, problem solving test on codility.com, video call with tech lead and solving problem from real project, system design onsite interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://apply.workable.com/mytutor/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MyTutor&lt;/a&gt; | London, UK | Take home test, followed by pair programming, system design discussion, and cross functional interview on site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://naologic.com/careers/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Naologic&lt;/a&gt; | San Francisco, US | Takehome programming assignment and personal interviews with part of the founding team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.native-instruments.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Native Instruments&lt;/a&gt; | Berlin, Germany | Takehome programming assignment and personal interviews with part of the hiring team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nearsoft.com/join-us/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nearsoft Inc&lt;/a&gt; | Hermosillo, Mexico; Chihuahua, Mexico; Mexico City, Mexico | Takehome &lt;a class=&#34;link&#34; href=&#34;https://nearsoft.com/blog/the-logic-behind-nearsofts-logic-test/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;logic test&lt;/a&gt;, english interview to check communication skills, short technical interview about experience, long technical discussion about languages/tools/practices you will use on daily basis, pair programming session.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://lifeatnedap.com/vacatures&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nedap&lt;/a&gt; | Groenlo, Netherlands / Remote | A simple conversation, human to human and a small on-site project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://neoteric.eu/career/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Neoteric&lt;/a&gt; | Gdańsk, Warsaw Poland; Remote | Face2Face conversation, take home exercise &amp;amp; pair programming session&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.nerdwallet.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NerdWallet&lt;/a&gt; | San Francisco, CA; Remote | Code review phone screen, on-site project to build a functioning app with interviewee&amp;rsquo;s platform of choice&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.netguru.co/career&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Netguru&lt;/a&gt; | Warsaw, Poland; Remote | Takehome exercise &amp;amp; pair programming session&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.netlandish.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Netlandish&lt;/a&gt; | Los Angeles, CA; Remote | Takehome exercise, chat interview, video interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.netlify.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Netlify&lt;/a&gt; | San Francisco, CA / Remote | Takehome project and online/onsite discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://neulabs.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Neulabs&lt;/a&gt; | Milan, Italy | Initial phone screen with HR. Brief talk with VP of Engineering or CTO. Small take-home project followed by a technical review with 1 or more engineers &amp;amp; a culture-fit discussion.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://neurallab.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Neural Lab&lt;/a&gt; | Shatin, Hong Kong; Remote | Online non-technical (Behavioural) interview, followed by a Technical Interview with the core team - mainly revolving around the real-world problems, best approaches and some scenario based questions.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://newrelic.com/about/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;New Relic&lt;/a&gt; | San Francisco, CA | Takehome exercise &amp;amp;/ or pair programming session depending on the team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.newstore.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NewStore&lt;/a&gt; | Berlin, Germany; Hannover, Germany; Erfurt, Germany; Boston, MA | Telephone technical interview, code sample submission or takeaway coding exercise, on-site pair programming, design session (1/2 day)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.newvoicemedia.com/about-newvoicemedia/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NewVoiceMedia&lt;/a&gt; | Basingstoke, England; Wroclaw, Poland | Telephone interview, takeaway coding exercise, on-site pair programming, code review &amp;amp; technical discussion (1/2 day)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nexapp.ca/career/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nexapp&lt;/a&gt; | Quebec City, Canada | Video call where we get to know you more and you get to know us more, followed by a video call technical interview where we discuss a few open-ended problems strongly inspired by the daily real-world work we do.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nexcess.net&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nexcess.net&lt;/a&gt; | Southfield, MI | We mostly chat to get a feel on both ends if there&amp;rsquo;s a good cultural fit. We ask questions to see what experience you have and how you think as a programmer. At some point we look at some of your code or have you work on some of ours (1 hour).&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nimblehq.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nimble&lt;/a&gt; | Bangkok, Thailand; Ho Chi Minh City, Vietnam; Da Nang, Vietnam | Takehome exercise and specific role discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ninjaneers.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ninjaneers&lt;/a&gt; | Kassel, Germany; Remote | Google Hangouts resume dive on past experience and projects&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.niteoweb.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Niteoweb&lt;/a&gt; | Ljubljana, Slovenia | Join us for a week to see if we fit&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.gonitro.com/about/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nitro&lt;/a&gt; | Dublin, Ireland; San Francisco, CA | Phone Call, Take Home Test, Hiring Manager Phone Interview followed by an onsite discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.nmbrs.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nmbrs&lt;/a&gt; | Amsterdam, The Netherlands; Lisbon, Portugal | Cultural interview, take home test, interview with CTO&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.noa.one&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Noa&lt;/a&gt; | Berlin, Germany; San Francisco, CA | 1 technical chat, 2-3 cultural chats with colleagues from different departments in the team, if these work a pair programming exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nodesource.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NodeSource&lt;/a&gt; | Remote | A person-to–person walk through of a past project of yours&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.nomoko.world/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nomoko,camera&lt;/a&gt; | Zurich, Switzerland | Three interrogations&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.norbsoft.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Norbsoft&lt;/a&gt; | Kraków, Poland; Warszawa, Poland; Sosnowiec, Poland; Remote | Take-home exercise or code sample submission, technical discussion by video conference&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nordsecurity.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NordPass&lt;/a&gt; | Remote | HR talk, take-home task, tech interview, culture fit interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.noredink.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NoRedInk&lt;/a&gt; | San Francisco, CA | Take-home exercise &amp;amp; pair programming session&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.novacare.no&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nova Care&lt;/a&gt; | Oslo, Norway | Casual interview, take-home exercise &amp;amp; presentation&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.novacredit.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nova Credit&lt;/a&gt; | San Francisco, CA | Choose between a take home assignment or two interviews on CoderPad, CodePen, or your local dev env while screensharing. Final round is onsite working on a small project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://novicap.com/en/careers.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NoviCap&lt;/a&gt; | Barcelona, Spain | Takehome exercise &amp;amp; discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://novoda.com/joinus&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Novoda&lt;/a&gt; | London, UK; Liverpool, UK; Berlin, Germany; Barcelona, Spain; Remote | 2 x Pairing sessions &amp;amp; conversational interviews &lt;a class=&#34;link&#34; href=&#34;https://github.com/novoda/dojos&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;(public repo)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.novus.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Novus Partners&lt;/a&gt; | New York, NY | Take-home exercise &amp;amp; on-site exercises (choice of laptop or whiteboard)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.noyo.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Noyo&lt;/a&gt; | San Francisco, CA / Durham, NC / Remote | Phone interview, take-home assignment, on-site code review, and walk through a past project you&amp;rsquo;re proud of&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nozbe.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nozbe&lt;/a&gt; | Remote | Take-home exercise &amp;amp; interview with the team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://npmjs.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;npm, Inc&lt;/a&gt; | Oakland, CA / Remote | No technical challenges. Just interview conversations.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nubank.workable.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nubank&lt;/a&gt; | São Paulo, BR | Phone conversation, take-home exercise, code walkthrough, on-site code pairing.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.numberly.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;numberly&lt;/a&gt; | Paris, France | Series of interviews, that go over technical background, past experiences and cultural knowledge&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://angel.co/numerai/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;numer.ai&lt;/a&gt; | San Francisco, CA&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.nurx.com/technology/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nurx&lt;/a&gt; | San Francisco, CA; Remote | Phone screen with recruiter and/or hiring manager, tech assessment with multiple options (full take home, partial take home, no take home), and then virtual on-site with a pair coding session, peer review of a technical document, architecture design, and exec loop&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.nutshell.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nutshell&lt;/a&gt; | Ann Arbor, MI, US | Email screen / take-home programming exercise (&lt;a class=&#34;link&#34; href=&#34;https://github.com/nutshellcrm/join-the-team&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;public repo&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.nyon.nl/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nyon&lt;/a&gt; | Amsterdam, The Netherlands | 1. Skype (or real life) interview 2. Take home exercise (3-4 hours) 3. Meet entire team and pair programming sessions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://oreilly.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;O&amp;rsquo;Reilly Media&lt;/a&gt; | Sebastopol, CA; Boston, MA; Remote | Phone conversation, take-home exercise or pair programming session, team interview, all via Google Hangout&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.oakstreethealth.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Oak Street Health&lt;/a&gt; | Chicago, IL / Remote | Casual but semi-technical initial phone screen. One hour video call consisting of in depth technical discussion with lead developers followed by one hour of discussion with the product team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://objectpartners.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Object Partners, Inc.&lt;/a&gt; | Minneapolis, MN; Omaha, NE | Phone interview to gauge mutual interest, followed by a slightly more in-depth technical round-table interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.objectiveinc.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Objective, Inc.&lt;/a&gt; | Salt Lake City, UT | Take-home programming exercise, then onsite friendly chat with team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://rejoins.octo.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OCTO Technology&lt;/a&gt; | Paris, France | HR interview to go over your experiences and cultural knowledge. Then more or less informal discussion with two future team members about architecture design, agile practices, take-home project, pair programming&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://octopus.energy/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Octopus Energy&lt;/a&gt; | London, UK; Sydney, Australia; Remote | Take-home exercise and phone or on-site interview/discussion with potential team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.oda.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Oda&lt;/a&gt; | Oslo, Norway; Helsinki, Finland; Berlin, Germany | Phone screening to discuss technical background and past experience. Take-home assignment followed by virtual project discussion and interview. Cultural fit assessment.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://grnh.se/e9ddbe544us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Odeko&lt;/a&gt; | Remote; New York, NY; Dublin, IE | Take-home project (2 hours) related to role, follow-up technical interview where you discuss your project implementation (may perform pair-programming session instead of technical interview).&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://olist.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Olist&lt;/a&gt; | Curitiba, Brazil | Take-home project and remote or on-site interviews&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.omadahealth.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Omada Health&lt;/a&gt; | San Francisco, CA | Take home exercise and/or pair programming session.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://oncue.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Oncue&lt;/a&gt; | San Francisco, CA; Remote | Online coding test on real-world problems (2 hours). Technical discussion with developer team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.onemainfinancial.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OneMain Financial&lt;/a&gt; | Chicago, IL; Remote | Take-home exercise and on-site interview/discussion with potential team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://onesignal.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OneSignal&lt;/a&gt; | San Mateo, CA | Intro call with recruiting, second conversation with OneSignal engineer, onsite pairing via screenshare&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://onfido.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Onfido&lt;/a&gt; | London, UK; Lisbon, Portugal | Take-home exercise and on-site interview/discussion with potential team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ontame.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ontame.io&lt;/a&gt; | Copenhagen, Denmark | Take home exercise and specific role discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://opbeat.com/jobs#seniorbackendengineer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Opbeat&lt;/a&gt; | Copenhagen, Denmark | Pairing on a real-world problem&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://angel.co/company/openbasecom&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Openbase&lt;/a&gt; | San Francisco, CA | Take-home exercise on real-world problem &amp;amp; discussion with engineers about exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.openmindonline.it&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Openmind&lt;/a&gt; | Monza, Italy | On-site interviews&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://optilyz.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;optilyz&lt;/a&gt; | Remote | Either take-home or pair programming on open-source code, then pair programming on our actual production code.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.optoro.com/open_position_item/?oid=134960&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Optoro&lt;/a&gt; | Washington, DC | Take home exercise. Review your code onsite.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.optum.in/about/careers.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Optum&lt;/a&gt; | India, Hyderabad | Online assessment, followed by technical interview and behavioural check&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ori.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ori&lt;/a&gt;| London, UK | Phone interview and a takehome project, followed by a two hour meeting with the team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://osism.tech&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OSISM&lt;/a&gt; | Remote | Three video calls: general introduction, team introduction, contract&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.ostmodern.co.uk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ostmodern&lt;/a&gt; | London, UK | Take-home exercise &amp;amp; discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.outbrain.com/?F1C=Netanya&amp;amp;F2C=&amp;amp;FTXT=&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Outbrain&lt;/a&gt; | Netanya, Israel | Take-home exercise &amp;amp; discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://outlandish.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Outlandish&lt;/a&gt; | London, UK | Take-home exercise, real-world pair programming session, friendly chat with team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/outlook/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Outlook iOS &amp;amp; Android&lt;/a&gt; | San Francisco, CA / New York, NY | Take-home project &amp;amp; online / onsite discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.nerdery.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Nerdery&lt;/a&gt; | Minneapolis, MN; Chicago, IL; Phoenix, AZ; Kansas City, KS | Take-home exercise&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;p---r&#34;&gt;P - R
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.pace.car/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PACE Telematics&lt;/a&gt; | Karlsruhe, Germany | Culture and mindset check, on-site meet and great, small code challenge to see development style and strategy&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.paessler.com/company/career/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Paessler AG&lt;/a&gt; | Nuremberg, Germany | Pairing with different engineers on a real problem&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pagar.me&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pagar.me&lt;/a&gt; | São Paulo, BR | Skype interview, on-site pairing task and-or real world problem solving process / presentation&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pager.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pager&lt;/a&gt; | New York, NY; Remote | Short phone interview, conversational interviews, take-home exercise &amp;amp; discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pagerduty.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PagerDuty&lt;/a&gt; | San Francisco, CA / Toronto, Canada / Atlanta, GA | Zoom / on-site pair programming and tasks&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tech.palatinategroup.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Palatinate Tech&lt;/a&gt; | London, UK | Hangout/Skype/phone followed by (normally) on-site pairing task&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://withpaper.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Paper&lt;/a&gt; | San Francisco, CA | Google Meets technical phone screen, take-home coding assignment, on-site with webapp architecture, team lunch, and culture-add conversations&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://parabol.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Parabol&lt;/a&gt; | New York, NY; Los Angeles, CA; Remote | Culture check followed by compensated, &lt;a class=&#34;link&#34; href=&#34;https://github.com/ParabolInc/action/projects&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;open-source contribution&lt;/a&gt; skills evaluation&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://parivedasolutions.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pariveda Solutions&lt;/a&gt; | Dallas, TX / Houston, TX / Atlana, GA / Washington, DC / New York, NY / Chicago, IL / San Francisco, CA / Seattle, WA / Los Angeles, CA | Personality assessment (Predictive Index) and case study. Programming aptitude test (language independent) for college hires.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://passfort.com/about#jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PassFort&lt;/a&gt; | London, UK | Skype interview, and on-site pairing task&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://passiv.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Passiv&lt;/a&gt; | Fredericton, Canada | Zoom interview, take-home coding assignment, standalone bite-size project that delivers some value, small feature development involving team collaboration.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pathosethos.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pathos Ethos&lt;/a&gt; | Durham, NC / Raleigh, NC / Chapel Hill, NC / Remote | 3 conversational interviews (Manager, Team, Founder). No homework. We look for a candidate to be &amp;ldquo;culture add&amp;rdquo; instead of &amp;ldquo;culture fit&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://paws.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Paws&lt;/a&gt; | London, UK | Phone screening, take-home project, on-site pairing/discussion on your solution and meet the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://paybase.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Paybase&lt;/a&gt; | London, UK | Phone screening, Take home project, On-site interview for technical and culture fit, Open Q&amp;amp;A session with team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.paybyphone.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PayByPhone&lt;/a&gt; | Vancouver, Canada | Remote programming interview, on-site &amp;ldquo;meet the team&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://peaksware.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Peaksware Companies (TrainingPeaks, TrainHeroic, MakeMusic)&lt;/a&gt; | Boulder, CO; Denver, CO | Phone screen, take home project, remote and on-site interviews for technical and cultural fit&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://info.peerstreet.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PeerStreet&lt;/a&gt; | Los Angeles, CA | Phone, take home project &amp;amp; on-site to meet the team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.pento.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pento&lt;/a&gt; | Remote | Quick personal interview, take home project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://permutive.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Permutive&lt;/a&gt; | London, UK | Phone call; short, relevant take-home coding assignment; on-site pairing, general technical discussion, values &amp;amp; ways of working interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.persado.com/company/life-at-persado&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Persado&lt;/a&gt; | New York, NY | Phone screen, take home project, remote meeting with team member to discuss the project, remote meeting with team manager to discuss role and go over statistical concepts relevant to the role&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.persgroep.nl/werken-bij-it&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Persgroep, de&lt;/a&gt; | Amsterdam, Netherlands | Tech interview (technical background and experiences) and culture fit, both on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.withpersona.com/about&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Persona&lt;/a&gt; | San Francisco, CA | Tech interview (technical background and experiences), pair programming, and culture fit&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pex.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pex&lt;/a&gt; | Los Angeles, CA; Remote | 3 sessions: brief phone conversation (30 min); take home assignment (2 hours); on-site or video discussion without any coding (2 hours)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://empleo.pfsgroup.es&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;pfs&lt;/a&gt; | Madrid, Spain; Valencia, Spain; Lisbon, Portugal; CDMX, Mexico; Remote | We adapt each interview according to the candidate and the position. The interviews are open discussions (no quizzes) about real-world problems. 2-3 interviews max, all of them can be done remotely.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://philo.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Philo&lt;/a&gt; | San Francisco, CA; Cambridge, MA | Initial screen with deep-dive into one of your recent projects (30 mins) ; take-home coding exercise tailored your skills (4 hours); on-site with take-home code review, architecture interview, design interview and &amp;ldquo;soft skills&amp;rdquo; interview (4 hours)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.phoodster.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Phoodster&lt;/a&gt; | Stockholm, Sweden | Take-home exercise + on-site discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.pieinsurance.com/culture/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pie Insurance&lt;/a&gt; | Denver, CO; Washington, D.C.; Remote | Phone; remote technical screen paired with another engineer; remote multi-round interview to demonstrate basic backend/frontend skills (no bizarre Leetcode questions), behavioral/culture fit, design skills&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pismo.io/pt/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pismo&lt;/a&gt; | Remote; Bristol, UK; Austin, TX; Singapore, Singapore | Initial and quick screening with recruiters from hr department, remote general technical discussion with tech lead and team members, take home assessment (choose between Java and/or Golang), remote pair programming.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pixiumdigital.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pixium Digital&lt;/a&gt; | Singapore, Singapore | Remote or on-site interview with few generic / technical questions as well as portfolio review + discussion.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pilot.notion.site/Plane-Careers-Page-0f9a2b64ddd8470f968335b769de0909&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Plane&lt;/a&gt; | Remote | Two calls. Introduction one (30m) + verification of communication skills and remote work experience (15m)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://platform.sh&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Platform.sh&lt;/a&gt; | Remote | Remote Interview, Wide-Ranging discussions on many diverse subjects. Remote interviews with team members.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://platform45.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Platform45&lt;/a&gt; | Johannesburg, South Africa; Cape Town, South Africa | On-site interview, take-home project and culture fit day&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://platogo.com/hiring/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Platogo Interactive Entertainment GmbH&lt;/a&gt; | Vienna, Austria | Simple online questionnaire, First Interview to get to know each other, Remote developer challenge (take home task), Code review together, Meet the team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://getcatalyst.in/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Playlyfe&lt;/a&gt; | Bangalore, India | Short personal interview, on-site demonstration of programming in browser devtools followed by discussion about the problem&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.pleo.io/en/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pleo&lt;/a&gt; | Remote; Copenhagen, Denmark; London, UK; Berlin, Germany; Stockholm, Sweden; Madrid, Spain| Intro interview (30m-45m), take home assignment, interview with discussion on the assignment + technical questions with the team (90m) and interview with managers (60m).&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.poki.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Poki&lt;/a&gt; | Amsterdam, The Netherlands | Pair programming on-site w/ two engineers where we focus on teamwork, googling relevant documentation and fixing things together.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://polar.me/company/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Polar&lt;/a&gt; | Toronto, Canada | Phone interview, followed by 1-2 onsite pair-programming interviews based on their platform&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.polleverywhere.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Poll Everywhere&lt;/a&gt; | Remote | Introduction call, 1 hour take home technical assessment, pairing session with Designer and Engineer to enhance technical challenge submission, Meeting with CTO and hiring manager.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.popstand.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Popstand&lt;/a&gt; | Los Angeles, CA | Build MVPs for startups&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.popularpays.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Popular Pays&lt;/a&gt; | Chicago, IL | Phone chat/coffee to determine what will be worked on during a day of pair-programming on a real problem that the candidate thinks best demonstrates their skills.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://posit.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Posit&lt;/a&gt; | Remote | Video calls with recruiter then engineering management, take home project, video call for code review with engineering lead&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pragma.team/talent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pragmateam&lt;/a&gt; | Sydney, Australia | Engineering Consultancy And Delivery - Takehome exercise &amp;amp; discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.premiumbeat.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PremiumBeat&lt;/a&gt; | Montreal, Canada | Discussion and general, high level questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.primary.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Primary&lt;/a&gt; | New York, NY / Remote | Phone chat, take home exercise, pair program and discuss onsite.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.progressive.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Progressive&lt;/a&gt; | Mayfield Village, OH / Remote | Recruiter phone screen, followed by 2 one-hour &lt;a class=&#34;link&#34; href=&#34;https://www.progressive.com/careers/how-we-hire/application-next-steps/interviewing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;manager STAR interviews&lt;/a&gt; and 1 one-hour &lt;a class=&#34;link&#34; href=&#34;https://www.progressive.com/careers/life/how-to-prepare-for-a-technical-screening/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;technical STAR interview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.prokeep.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Prokeep&lt;/a&gt; | Remote | Take-home project, informal chat with managers.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.promptworks.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PromptWorks&lt;/a&gt; | Philadelphia, PA | Take-home project, pair programming, discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.propertycaptain.ch&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PropertyCaptain&lt;/a&gt; | Zurich, Switzerland | Take-home project, discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.proxy.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Proxy&lt;/a&gt; | San Francisco, CA | Phone chat. In-depth discussion about experiences on-site. Occasionally a take home project.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pusher.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pusher&lt;/a&gt; | London, UK | Solve a real-world problem through a design session with our engineers&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pygmalios.com/en&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pygmalios&lt;/a&gt; | Bratislava, Slovakia | Take-home project related to business and discussion with our engineers.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://qonto.com/en/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Qonto&lt;/a&gt; | Paris, France / Berlin, Germany / Milan, Italy / Barcelona, Spain / Belgrade, Serbia / Remote | Take-home project, code review and discussions with our engineers.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://quietlightcom.com/positions-web.php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quiet Light Communications&lt;/a&gt; | Rockford, IL, USA | Discussion, work samples and/or small freelance project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.workatquintype.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quintype&lt;/a&gt; | Bengaluru, India / San Mateo, USA | Take home project, pair programming, discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://quizizz.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quizizz&lt;/a&gt; | Bengaluru, India | Phone chat, real world assignment, discussion w/ developers, pair programming, discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://quizlet.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quizlet&lt;/a&gt; | Remote; San Francisco, CA; New York, NY; London, UK | Preliminary screen followed by role-specific applied exercises where candidates create new projects/apps or make improvements to pre-existing code.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ragnarson.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ragnarson&lt;/a&gt; | Lodz, Poland; Remote | Take-home exercise &amp;amp; pair programming session&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.railscarma.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Railscarma&lt;/a&gt; | Bengaluru, India | Take-home project, code review and discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.railslove.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Railslove&lt;/a&gt; | Cologne, Germany | Have a coffee in our office, casual chat with us, pair programming on a real project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.raisingit.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Raising IT&lt;/a&gt; | London, UK | Coffee with a team member, on-site pair programming and discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ramp.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ramp&lt;/a&gt; | New York, NY | Phone interview on a basic applied problem, followed by 2-3 onsite programming interviews that test practical day-to-day software skills.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://rapidapi.com/company/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RapidAPI&lt;/a&gt; | San Francisco, CA; Berlin, Germany; Tallinn, Estonia | Take home assignment and discussion before/afterwards&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.rapptrlabs.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rapptr Labs&lt;/a&gt; | Jersey City, NJ | Take-home exercise followed by a video interview with 2-3 engineers about domain-specific knowledge and open-ended questions.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.rapyuta-robotics.com/pages/jobs.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rapyuta Robotics&lt;/a&gt; | Bengaluru, India / Tokyo, Japan / Zurich, Switzerland | Take-home assignment related to our ongoing projects, series of technical / experience based interviews, candidate presentation&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://razorpay.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Razorpay&lt;/a&gt; | Bangalore, India | Phone screen, On-site pair programming, and occasionally a take home project.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://reaktor.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reaktor&lt;/a&gt; | New York, NY; Amsterdam, Netherlands; Helsinki, Finland; Tokyo, Japan | Discussion, work samples from previous projects (work or hobby), take-home exercise if needed for further info&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://realync.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Realync&lt;/a&gt; | Chicago, IL / Carmel, IN / Remote | Quick phone interview, then a take home project and finally in person interview (open discussions instead of quizzes - anything technical are real-world problems).&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://rebase.fi&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rebase Consulting&lt;/a&gt; | Helsinki, Finland / Remote | First round general discussion/introductions, second round technical interview built around a take-home exercise, 2x2 skill/interest matrix go-through and general technical topics based on the candidate&amp;rsquo;s profile.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://red-badger.com/about-us/join-us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Red Badger&lt;/a&gt; | London, UK | Phone &amp;amp; Skype interview, take home exercise, On-site interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://redballoonsecurity.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Red Balloon Security&lt;/a&gt; | New York City, USA | A rather educational week long hacking challenge with a monetary reward upon finding solution. On-site with team members, real job related problems, a few open-ended questions.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.redcarpetup.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RedCarpet&lt;/a&gt; | New Delhi, India | Interview, work sample/take-home project and discussion/code reviews&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.red-gate.com/our-company/careers/current-opportunities/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Redgate&lt;/a&gt; | Cambridge, UK | Simple couple of questions during screening phase (up to 30 min) followed by a second phase with up to two coding exercises (non-CS).&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://reducer.co.uk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reducer&lt;/a&gt; | London, UK | Introductions by phone, pair programming on site, then meeting the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.reflektive.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reflektive&lt;/a&gt; | San Francisco, CA; Bengaluru, India | A short take home project/assignment, followed by a couple of technical and non-technical discussions online and offline.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://refty.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Refty&lt;/a&gt; | Paris, France | Introductory video call, soft skills assessment process powered by our own product, on-site discussion, lunch with everyone.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://relabe.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Relabe&lt;/a&gt; | San Juan, PR | First we screen for cultural fit then check for technical proficiency. 2-3 Interviews max in SJ&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://remote.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Remote&lt;/a&gt; | Remote | Call with a recruiter (if needed), call with manager, code exercise, call with team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://render.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Render&lt;/a&gt; | San Francisco, CA; Remote | Phone screen followed by an onsite project based on our day-to-day, real world challenges.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.rentify.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rentify&lt;/a&gt; | London, UK | Phone call, take home real-world project, on-site pair programming, product discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.rentomojo.com/about/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RentoMojo&lt;/a&gt; | Bangalore, India | Short takehome project + phone interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://repl.it/site/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Repl.it&lt;/a&gt; | San Francisco, CA / Remote | Take-home project and discussion, then an on-site project and discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://resin.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Resin.io&lt;/a&gt; | Remote | Take home real-world project and a couple of technical and non-technical discussions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.resourcify.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Resourcify&lt;/a&gt; | Hamburg, Germany; Remote | Get to know phone call with Engineering Manager and VP of People, pair programming a day-to-day problem with a Lead Engineer, meeting with team members.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.respark.co.uk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ReSpark&lt;/a&gt; | London, UK | Phone conversation followed by on-site interview w/ task relevant to daily role.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.restaurantops.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RestaurantOps&lt;/a&gt; | Scottsdale, AZ | Take Home Project &amp;amp; pair programming session&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://retailpulse.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Retail Pulse&lt;/a&gt; | Bangalore, India | Phone chat, take home exercise, feedback &amp;amp; interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://reverscore.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rever&lt;/a&gt; | Guadalajara, Mexico | Take-home project, on-site discussion or via Hangouts.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.reviewtrackers.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ReviewTrackers&lt;/a&gt; | Remote; Chicago, IL | Phone conversation, take home project, virtual interview with project review and live coding, discussion with engineers and product, interview with VP of Engineering&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.rexsoftware.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rex Software&lt;/a&gt; | Brisbane, Australia | Take home project, feedback + interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://rizk.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rizk.com&lt;/a&gt; | Ta&amp;rsquo; Xbiex, Malta | Take-home assignment, discussion w/ developers&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.rockerbox.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rockerbox&lt;/a&gt; | Remote | Phone screen with pair programming. 2 hours of pre-interview prep. 4-hour final interview with situational questions, another pair programming, and presentation and discussion of pre-interview prep outputs.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://rocketalumnisolutions.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rocket Alumni Solutions&lt;/a&gt; | Remote; Boston, MA | One pair programming session, total 2-3 hours of interviews with leadership.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://about.rocketmiles.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rocket Travel&lt;/a&gt; | Remote; Chicago, IL; New York, NY | Pair programming, take home project (2-4 hours), 3-4 hour final interview with mix of high level technical, product, and cultural/behavioral sessions.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.rockode.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rockode&lt;/a&gt; | Bangalore, India | Real world assignment, group hack session, discussions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://rosedigital.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rose Digital&lt;/a&gt; | New York, NY | Phone conversation followed by pair coding components that mirror day to day work, in person discussion about code, take home project if needed for more info&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://career.ruangguru.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ruangguru&lt;/a&gt; | Jakarta, Indonesia / Yogyakarta, Indonesia / Malang, Indonesia / Bandung, Indonesia | Phone screening with technical recruiter &amp;ndash;&amp;gt; live coding with an engineer &amp;ndash;&amp;gt; panel interview with related engineers (Test Engineers, Frontend Engineers, Backend Engineers, etc) &amp;ndash;&amp;gt; final interview with VP of Engineering&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://rubygarage.org&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RubyGarage&lt;/a&gt; | Dnipro, UA | Take-home project, code review and discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.runtastic.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Runtastic&lt;/a&gt; | Linz, Austria; Vienna, Austria | Video call with recruiting staff, take home project, video call for code review, discussion, questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.rvu.co.uk/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RVU&lt;/a&gt; | London, UK | Also known as Uswitch / Money.co.uk / Bankrate, small take-home project related to our business area, followed by open book pairing with developers to extend it followed by Q&amp;amp;A session to discuss your experience.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;s---u&#34;&gt;S - U
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.safebutler.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SafeButler&lt;/a&gt; | San Francisco, CA | Take-home project, then an on-site or remote interview with a review, pair programming, and culture fit discussions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sahaj.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sahaj Software&lt;/a&gt; | Bangalore, India; Chennai, India; Pune, India; Melbourne, Australia; London, UK; San Jose, CA | Take home code + Pairing + Discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sailingbyte.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sailing Byte&lt;/a&gt; | Rumia, Poland | Technical interview, Take-home Task&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sakari.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sakari&lt;/a&gt; | San Francisco, CA | Phone screen, programming assignment related to Sakari business (communications) with pair programming element, team and culture fit&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.salecycle.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SaleCycle&lt;/a&gt; | Durham, UK; Brighton, UK | Phone screen, face-to-face discussion with developers, optional pairing session and discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.salesfive.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Salesfive&lt;/a&gt; | Munich, Germany; Berlin, Germany | Phone screen, Phone Interview with developer to discuss code and challenges, Take home challenge if necessary. Onsite visit&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://salesloft.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Salesloft&lt;/a&gt; | Atlanta, GA | Phone interview, take-home project, cultural-fit interview, technical interview where candidate modifies take-home project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sc5.io/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SC5 Online&lt;/a&gt; | Helsinki, Finland; Jyväskylä, Finland | Take-home assignment (intentionally short, takes at most an hour to complete), discussion and review assignments&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://scapic.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scapic&lt;/a&gt; | Bangalore, India | Short takehome project + phone interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.schibsted.pl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Schibsted Tech Polska&lt;/a&gt; | Gdańsk, Poland | Phone screen, take-home exercise, code review and technical discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.searchapi.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SearchApi&lt;/a&gt; | Remote | Culture interview, take-home coding challenge and technical interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://boards.greenhouse.io/seesaw&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Seesaw&lt;/a&gt; | Remote | Technical challenges based on real world problems&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://segment.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Segment&lt;/a&gt; | San Francisco, CA; Vancouver, Canada | Phone interview, take-home assignment (small fun project), onsite interview (technical + core/culture) -&amp;gt; intended to set you up for success&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.seitenbau.com/karriere/aktuelle-jobangebote&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SEITENBAU&lt;/a&gt; | Konstanz, Germany | Peer recruiting; conversational interviews (video call or face-to-face) with other developers and HR focussing on motivation, attitude, skills; possibly 2nd face-to-face interview meeting with additional team members&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sendyne.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sendyne&lt;/a&gt; | New York City, USA | Phone screen, on-site with team members. Review of past experiences + questions regarding real problems.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sensortower.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sensor Tower&lt;/a&gt; | San Francisco, CA | Phone call, on-site interview including discussion about projects/skills and a short real-world programming challenge&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sensu.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sensu&lt;/a&gt; | Remote | Video call, choice of pairing session or take home programming assignment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://sentisis.com/trabaja-con-nosotros&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Séntisis&lt;/a&gt; | Madrid, Spain; Mexico City, Mexico; Bogotá, Colombia; Santiago de Chile, Chile; Remote | Phone call, on-site/remote interview including discussion about projects/skills and a short real-world pair-programming exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://serpapi.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SerpApi&lt;/a&gt; | Austin, TX / Remote | Skype core value and culture interview, review of contributions on GitHub or other platforms, and take-home project if online contributions are not enough.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sertiscorp.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sertis&lt;/a&gt; | Bangkok, Thailand | Technical &amp;amp; culture fit interview, take-home project, follow-up discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://setapp.pl/career&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Setapp Sp. z o.o.&lt;/a&gt; | Poznan, Poland | Online/face-to-face discussion with developers about everyday programming dilemmas &amp;amp; reviewing your own code&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sharoo.com/jobs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sharoo&lt;/a&gt; | Zurich, Switzerland; Remote | Soft skills interview, take home project, technical interview based on take home project.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.shipandco.com/en/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ship&amp;amp;co&lt;/a&gt; | Remote / Kyoto, Japan | Casual non-technical interview with the CEO. One hour technical discussion with lead developer about software development, skills and past experience. Three months paid trial period.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://getshogun.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Shogun&lt;/a&gt; | Remote | Discussion about software development and past experience, code samples, paid trial period.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://shortcut.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Shortcut&lt;/a&gt; | New York, NY &amp;amp; Remote | Phone interview, followed by onsite discussions and pair programming&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.showmax.com/engineering-careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Showmax&lt;/a&gt; | Beroun, Czechia; Prague, Czechia; Remote | Take home project, then a pair-programming and discussion onsite / Hangouts round.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://shuttlecloud.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ShuttleCloud&lt;/a&gt; | Chicago, IL / Madrid, Spain | Take-home project, then on-site code walk through and a real world problem discussion.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.signal-ai.com/about-us/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Signal AI&lt;/a&gt; | London, UK | Phone screen; take home code exercise; on-site code extension with pair programming and discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://signoz.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SigNoz&lt;/a&gt; | Bangalore, India; Remote | Intro round to explore interests, 1-2 Technical interviews that resembles a problem SigNoz solves for, then product round to discuss on industry and problems which SigNoz is solving.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.simpli.fi/about-us/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Simpli.fi&lt;/a&gt; | Fort Worth, TX, USA | Takehome code challenge and review&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.welcometothejungle.co/companies/simplifield/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SimpliField&lt;/a&gt; | Lille, France | Interview with the CTO and the developer team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.simplybusiness.co.uk/about-us/careers/tech&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Simply Business&lt;/a&gt; | London, UK / Remote | Three stage, one day interview with quick feedback. One of the stages is 1.5h pair-programming session, where interviewee is assigned a task and interviewing developer plays role of Product Owner.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sixfold.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sixfold&lt;/a&gt; | Tallinn, Estonia; Tartu, Estonia; Vienna, Austria | 3-4 stages: 1st interview with HR and an engineering lead, 2nd a test-task to solve at home, 3rd technical discussion &amp;amp; feedback on the test-task, 4th optional meeting with further engineering leads to find best fitting team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sixt.jobs/en&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sixt&lt;/a&gt; | Munich, Germany | 4 stages: 1st HR, 2nd take-home project, 3rd follow-up discussion, 4th on-site interview with team plus HR&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://skylight.digital/join/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Skylight Digital&lt;/a&gt; | Remote | Screening call to determine general interest, 1.5 hour pair programming exercise based on realistic scenario, EQ interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.skyrisepro.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Skyrise Pro&lt;/a&gt; | Chicago, IL | Take-home coding project, on-site interview including coding enhancements to the take-home project, offsite group activity&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://slack.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Slack&lt;/a&gt; | San Francisco, CA | Call with recruiter, 1 week take-home project, call with hiring manager, on-site interview covering high-level system design, best software development practices and culture-fit&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.small-improvements.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Small Improvements&lt;/a&gt; | Berlin, Germany&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://smartia.tech&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Smartia&lt;/a&gt; | Bristol, UK; Remote | Take-home real world project to complete, call with head of engineering, culture fit with CEO and COO&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.smartly.io/developer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Smartly.io&lt;/a&gt; | Helsinki, Finland | Discussion with recruiter and developers and a pair coding exercises&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://smile.io/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Smile.io&lt;/a&gt; | Kitchener, Canada / Remote | Take-home real world project, interviews with HR and engineering team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://snyk.io/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Snyk&lt;/a&gt; | London, UK; Tel Aviv, Israel | Take home task, then a pair coding on it&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.socialtables.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Social Tables&lt;/a&gt; | Washington, DC | Chat about skills and past experiences + bring in a code sample from previous work or side project to discuss&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://softwear.nl/vacatures&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Softwear&lt;/a&gt; | Amsterdam, Netherlands | Writing software for the fashion industry – remotely – in an international team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sogilis.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sogilis&lt;/a&gt; | Grenoble, France | Discussion about interests, practices, and motivation. Presentation/code review/pair programming on a personal or professional project.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://about.sourcegraph.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sourcegraph&lt;/a&gt; | San Francisco, CA &amp;amp; Remote | Tailored to the candidate, often consists of take-home work, discussion of real-world eng challenges, and product familiarity.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.splice.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Splice&lt;/a&gt; | New York, NY; Remote | Call with recruiter, 4 hr take-home project, video interview w two engs on take-home exercise, video call with hiring manager, video call w VPE &amp;amp; principal eng to talk about architecture.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.splyt.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Splyt&lt;/a&gt; | London, UK; Singapore, Singapore; Kuala Lumpur, Malaysia; Tokyo, Japan | Initial screening with recruiters from hr department, take home assessment (React + Node.js), followed by remote/on-site interviews with hiring manager and CTO about the assessment, system design/architecture, and cultural fit.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.spreedly.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Spreedly&lt;/a&gt; | Durham, NC | Take-home project &lt;a class=&#34;link&#34; href=&#34;https://engineering.spreedly.com/blog/programming-puzzles-are-not-the-answer-how-spreedly-does-work-samples.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;related to business&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.natureasia.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Springer Nature (Asia)&lt;/a&gt; | Tokyo, Japan | Discussion &amp;amp; Pair programming session&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sndigital.springernature.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Springer Nature Digital&lt;/a&gt; | Berlin, Germany; London, UK | Phone chat; take-home project; then a pairing session based on the project, a technical chat, and a chat with non-technical team members&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://spronq.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SpronQ&lt;/a&gt; | Amsterdam, Netherlands | Takehome coding challenge&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.squadcast.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Squadcast&lt;/a&gt; | Bangalore,India | Phone screening, technical interview, Founder Interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://squareup.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Square&lt;/a&gt; | San Francisco, CA | Pair programming in a work environment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://square-sense.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Square Sense&lt;/a&gt; | Paris, France | Short phone screen to confirm the interest, take-home project (similar to some of our existing software), a pair-programming interview where we will make some changes to the same project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://srijan.net&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Srijan Technologies&lt;/a&gt; | Delhi, India | General high level questions/discussion followed by Pair programming OR take-home coding challenge&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://stacc.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Stacc&lt;/a&gt; | Norway, Bergen | Open-Ended Take Home Assignment (UX and/or Coding in your preferred language) followed by a high-level discussion and reflection upon the process with senior engineers.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://stackgenie.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Stackgenie&lt;/a&gt; | London, UK / New York, US / Trivandrum, India / Remote | Real-world take-home project, video interviews with HR and the engineering team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://stardog.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Stardog Union&lt;/a&gt; | Washington, DC; Remote | Technical discussion and general interest conversations&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://startdee.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;StartDee&lt;/a&gt; | Bangkok, Thailand | Phone screening with technical recruiter &amp;ndash;&amp;gt; live coding with an engineer &amp;ndash;&amp;gt; panel interview with related engineers (Test Engineers, Frontend Engineers, Backend Engineers, etc) &amp;ndash;&amp;gt; final interview with VP of Engineering&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.stashaway.sg/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;StashAway&lt;/a&gt; | Singapore, Malaysia &amp;amp; Remote | Take Home Technical Task (broken down to frontend or backend focused), Database Architecture Case Design round, Peer-to-Peer (P2P) team round, and Management Interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://statflo.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Statflo&lt;/a&gt; | Toronto, Canada | Phone screening, take home project, on-site interview discussing the take home project, high-level architectural brainstorm, and questions about career and team work.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.store2be.com/en/pages/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;store2be&lt;/a&gt; | Berlin, Germany | Skype/on-site interview, take-home project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.stormx.io/about#jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Storm&lt;/a&gt; | Seattle, WA; Remote | Phone/skype screen &amp;ndash;&amp;gt; Take-home coding assignment &amp;ndash;&amp;gt; on-site/skype interview loop to discuss assignment; meet-and-greet with other teams &amp;ndash;&amp;gt; +1/-1 based on team consensus&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.storytel.com/departments/tech&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Storytel&lt;/a&gt; | Stockholm, Sweden; Lund, Sweden; Karlstad, Sweden; Umeå, Sweden; Copenhagen, Denmark | Our process has few stages: a social interview with HR and 1-2 future teammates; a small take-home project followed by a technical discussion with 2-3 future colleagues. All stages can be in-person in one of our offices or via Google Meet&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.stridenyc.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Stride Consulting&lt;/a&gt; | New York, NY / Chicago, IL | Phone Screen, Agile and Technical Overview, a Pairing session, and architecture interview on previous experience.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://structura.bio&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Structura Biotechnology&lt;/a&gt; | Toronto, Canada | Phone screening, take-home coding challenge, on-site review and discussion about past experience, and high-level architectural brainstorm&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://strv.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;STRV&lt;/a&gt; | Prague, Czech Republic; Brno, Czech Republic; Remote | A social interview with a recruiter + take-home coding challenge followed by a technical interview session discussing your approach in solving the take-home assignment + a culture-fit interview with the head of engineering.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.stylabs.in&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;STYLABS&lt;/a&gt; | Mumbai, India | Phone Screen, Take-home project and discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://verticalchange.com/job_posts&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Subvertical (VerticalChange)&lt;/a&gt; | Remote | Phone screening, live pair programming &amp;amp; personal project code review&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sulvo.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sulvo&lt;/a&gt; | New York, NY / Remote | Interview over video call for cultural fit first, if you pass we proceed with technical interview that doesn&amp;rsquo;t include coding games or challenges&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.summitto.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Summitto&lt;/a&gt; | Amsterdam, Netherlands | take-home coding challenge and on-site interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.sumup.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SumUp&lt;/a&gt; | London, UK | Five-stages interview process. The first stage is with HR. The second stage is with the Engineering manager - discussion about general engineering knowledge and past projects. The third stage is take-home assignment. The fourth stage is a discussion of the take-home assignment solution with two engineers. The fifth stage is a behavioural interview structured around company values.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.superawesome.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SuperAwesome&lt;/a&gt; | London, UK | Short recruiter phone screen, take-home exercise, follow up system design and cultural interview focused on your past experience.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://superplayer.fm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Superplayer&lt;/a&gt; | Porto Alegre, Brazil | Skype/On-site interview, take-home project and interview with CTO and CEO&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://surglogs.com/careers/slovakia/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Surglogs&lt;/a&gt; | Remote | (Europe timezone) Phone screen, take-home assignment with a follow-up call, or live coding focused on building simple real-world scenarios (based on your preference), culture-fit call with team and CTO.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://surveysparrow.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SurveySparrow&lt;/a&gt; | Kochi, India | Skype interview, take home project and code review, interview with CTO and CEO&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.svix.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Svix&lt;/a&gt; | Remote | Take home project, an interview to discuss the project, and a cultural fit interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://svti.svt.se&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SVTi (Sveriges Television)&lt;/a&gt; | Stockholm, Sweden | On-site interview, take-home project, follow up interview where you walk through how you chose to solve the task.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sweetiq.com/about/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SweetIQ&lt;/a&gt; | Montreal, Canada | Discussion and general, high level questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.swiftly.com/about/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Swiftly&lt;/a&gt; | Seattle, WA; San Francisco, CA | Take-home coding project, design principles discussions, collaborative problem solving&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.swisscom.ch/en/about/career.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Swisscom&lt;/a&gt; | Rotterdam, The Netherlands | A mix of behavioural, technical and cultural interview, take-home project, project review with engineers from different teams and cultural interview with staff members.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.symphonycommerce.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Symphony Commerce&lt;/a&gt; | San Francisco, CA / Remote | Take-home project (phone), design discussion, review and critique &lt;em&gt;our&lt;/em&gt; code, debugging questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.symplicity.com/about/join-us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Symplicity&lt;/a&gt; | Arlington, VA | Take-home project and code review in-person&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sysgarage.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SysGarage&lt;/a&gt; | Buenos Aires, Argentina | Take-home project and real world pair programming&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.tablecheck.com/en/company/jobs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TableCheck&lt;/a&gt; | Tokyo, Japan | Show us your code! Brief call then take-home project or pairing for those without code.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tailorbrands.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tailor Brands&lt;/a&gt; | Tel Aviv-Yafo, Israel | Discuss knowledge and interests, explore previous work experience, during the technical interview we discuss real-life problems.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tails.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tails.com&lt;/a&gt; | Richmond (London), UK | Live pair programming or take home project with review&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://takehomes.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Take Homes&lt;/a&gt; | San Francisco, CA &amp;amp; New York, NY | Take-home project based on a real-world problem, administered on their own platform, followed by a pair programming session, also on their platform, which builds on the initial project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.take2games.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Take-Two Interactive&lt;/a&gt; | Bengaluru, India; Vancouver, Canada; London, UK; Singapore, Singapore; CA, NY, WA: United States | Data Engineering, Recruiter screening, followed by 1 round of fitment discussion, followed by a take home assignment(similar to actual work), followed by 1 round involving assignment solution discussion, programming language specific questions, and other role specific technical questions, followed by hiring manager discussion.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.takeaway.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;takeaway.com&lt;/a&gt; | Enschede, Netherlands &amp;amp; Berlin, Germany | Discussion and general, high level questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.madeintandem.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tandem&lt;/a&gt; | Chicago, IL; San Francisco, CA | Introductory phone screen, take-home project, take-home project phone review, a few hour-long pairing sessions on real projects.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tanookilabs.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tanooki Labs&lt;/a&gt; | New York, NY | Paid half-day take home project with followup review and discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tara.ai/about/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tara AI&lt;/a&gt; | San Jose, CA | On-site interview with a deep dive into appropriate technology and our problem space. The same sort of problem solving you would do with peers after a standup&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.tattoodo.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tattoodo&lt;/a&gt; | Copenhagen, Denmark | Takehome exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.taxdoo.com/#/jobs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Taxdoo&lt;/a&gt; | Hamburg, Germany | On-site interview, little takehome exercise, followup review/interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.teamwork.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Teamwork.com&lt;/a&gt; | Remote; Cork, Ireland; Belfast, UK; Wilmington, USA | Initial conversation, remote values interview, takehome exercise, followup review/interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tenthousandcoffees.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ten Thousand Coffees&lt;/a&gt; | Toronto, Canada | Take home project, then explain how you solved the project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.teraki.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Teraki&lt;/a&gt; | Berlin, Germany | Pair programming exercise, 45min to 3h according to seniority and role.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://engineering.tes.com/recruitment/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tes&lt;/a&gt; | Remote; London, UK | Remote pair programming session on React/Node kata with small takehome exercise as prep. Remote interview with senior engineers about previous experience, technical knowledge and interests.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.tesco.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tesco PLC&lt;/a&gt; | London, United Kingdom | Pair programming and casual hypothetical system design discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://testdouble.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Test Double&lt;/a&gt; | Remote | Initial conversation, Consulting interview, Technical interview, Pair programming, Takehome exercise.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://textio.com/careers/?utm_source=github&amp;amp;utm_medium=forum&amp;amp;utm_campaign=textio-careers-engineering&amp;amp;utm_content=poteto-hiring-without-whiteboards&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Textio&lt;/a&gt; | Seattle, WA | Initial screen to discuss experience and interest in a role at Textio; then a take-home programming task is discussed during a 1-hour tech screen (on-site or remote); finally a larger take-home project, simulating real work, is discussed during an on-site presentation plus 1-1s; &lt;a class=&#34;link&#34; href=&#34;https://textio.ai/how-we-hire-a74cdbadd1e8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How we hire&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://thebookofeveryone.workable.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Book of Everyone&lt;/a&gt; | Barcelona, Spain | Quick interview, meet the team, pairing with developers on your own project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://lego.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The LEGO Group&lt;/a&gt; | Billund, Denmark; Copenhagen, Denmark; Enfield, USA; London, UK | First meeting to discuss interests, the team, and general questions. Next take-home case study/project, followed by another meeting discussion the high level solution with focus on the process and thoughts behind the solution.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.thezebra.com/about/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Zebra&lt;/a&gt; | Austin, TX | Take-home coding challenge with in-person review and pair programming.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.thinkmill.com.au&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Thinkmill&lt;/a&gt; | Sydney, Australia | Initial meet and greet interview with Thinkmillers from the relevant team, take home assignment followed by tech review on a followup interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.thinslices.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Thinslices&lt;/a&gt; | Iasi, Romania | Takehome exercise &amp;amp; in person pair programming on a simple Kata.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://thoughtbot.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;thoughtbot&lt;/a&gt; | San Francisco, CA; London, UK | &lt;a class=&#34;link&#34; href=&#34;https://thoughtbot.com/playbook/our-company/hiring#interviewing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Our interview process&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.thoughtworks.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ThoughtWorks&lt;/a&gt; | San Francisco, CA | Interviews with ThoughtWorkers of diverse backgrounds and roles; take home assignment followed by in person pairing session.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.thoughtworks.com/careers/singapore&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ThoughtWorks Singapore&lt;/a&gt; | Singapore, Singapore | Interviews with ThoughtWorkers of diverse backgrounds and roles; Simple, live paired coding exercise in language of choice focused on clean code, not speed. Followed by refactoring paired interview, and technical discussion on modelling and system design, tech depth &amp;amp; breadth and team leading skills (if applicable).&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.thread.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Thread&lt;/a&gt; | London, UK | Take home test, real world architecture design, real world pair programming.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.threatspike.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ThreatSpike Labs&lt;/a&gt; | London, UK | Take home computing and security related challenges to be completed over a week.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.tilde.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tilde&lt;/a&gt; | Portland, OR | Pair programming sessions with each member of the team, working on problems similar to daily work.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.timbuktutravel.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Timbuktu&lt;/a&gt; | Cape Town, South Africa | On site interview and pair programming exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tipalti.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tipalti&lt;/a&gt; | Glil-Yam, Israel | Real-world design and coding challenges&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://titanium.codes&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Titanium&lt;/a&gt; | Moldova, Chisinau | High level review of public activity on GitHub/BitBucket/Gitlab (if applicable) and screening via phone, On-site technical &amp;amp; Team fit interview, Formal &amp;ldquo;Meet the Team&amp;rdquo; meeting&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://toggl.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Toggl&lt;/a&gt; | Remote / Tallinn, Estonia | Online test on basic programming skills, followed by interview (typically includes get-to-know questions and technical skill testing). Depending on the team, there may be a take-home or live coding assignment. &lt;strong&gt;Paid test week&lt;/strong&gt; to work with the team on actual bugs/features.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.tooploox.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tooploox&lt;/a&gt; | Warsaw, Poland; Wroclaw, Poland; Gdansk, Poland; Remote | Team fit interview and then take-home project. Next on-site or remote interview consisting of discussion and live coding based on the delivered code. Focusing on high level questions, architecture and design decisions.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://toowoxx.de/index.php/karriere/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Toowoxx&lt;/a&gt; | Deisenhausen, Germany &amp;amp; Ulm, Germany | Short interview with general questions, on-site programming challenge, code review of result&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tophat.com/company/work-with-us/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Top Hat&lt;/a&gt; | Remote / Toronto, Canada | Short coding challenge inspired from the day-to-day problem space followed by a longer frontend or backend pairing design and implementation exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://toucantoco.com/fr/team#jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Toucan Toco&lt;/a&gt; | Paris, France | Pair-programming and TDD&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://gotouche.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Touché&lt;/a&gt; | Singapore, Singapore; Barcelona, Spain | Skype / Phone / on-site interview, take-home project, technical interview to discuss the project, team interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://trademark.vision&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TrademarkVision&lt;/a&gt; | Brisbane, Australia | On site interview and quick take-home exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://trainheroic.com/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TrainHeroic&lt;/a&gt; | Boulder, CO; Denver, CO | Phone screen, take home project, remote and on-site interviews for technical and cultural fit&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.trainingpeaks.com/careers.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TrainingPeaks&lt;/a&gt; | Boulder, CO; Denver, CO | Phone screen, take home project, remote and on-site interviews for technical and cultural fit&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.transparentclassroom.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Transparent Classroom&lt;/a&gt; | Seattle, WA; Remote | Phone screen, 1 hr pairing on toy problem, 4 hr pairing on real code, full-day paid stage&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://trendency.hu&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Trendency&lt;/a&gt; | Budapest, Hungary | Technical interview with a lead developer discussing past experience and tech related to the job, then culture fit/add interview with the CTO. Max 1 hour long sessions, both can be done via video call or on-site with friendly atmosphere&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.tripstack.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TripStack&lt;/a&gt; | Toronto, Canada | Take-home assignment, followed up by a face to face code walk through&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.trivago.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Trivago&lt;/a&gt; | Düsseldorf, Germany | Case Study, Skype Interview, On site Interview with some code review exercises&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://boards.greenhouse.io/trov&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Trōv&lt;/a&gt; | Remote | Take-home project with followup interview from actual prospective teammates&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://truefit.io/about/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Truefit&lt;/a&gt; | Pittsburgh, PA | Phone screen, Take-home project, In-person interview with the team that you would join&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.truora.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Truora&lt;/a&gt; | Bogotá, Colombia; Cali, Colombia; Remote | Take-home project, followed by phone interview with tech leads to discuss the project.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://truss.works/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Truss&lt;/a&gt; | San Francisco, CA; Remote | Phone screen/ Take-home project that resembles a problem Truss has seen many times before / Followup interview about the project / Closing Interview, all interviews done remotely&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.tunein.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TuneIn&lt;/a&gt; | San Fransisco, CA | High level screening over the phone or on-site, take home project, code review and discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.twistlock.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Twistlock&lt;/a&gt; | Tel Aviv, Israel | Takehome&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://typito.com/go&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Typito&lt;/a&gt; | Bangalore , India | Take home assignment project with options for focus in frontend or backend work. First interview round based on the project submitted, may require to do some edits or add further feature based on discussion , live during interview. Second round mostly specific to overall system engineering and discussion regarding solutions to common backend/frontend engineering problems.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://uberall.com/en/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;uberall&lt;/a&gt; | Berlin, Germany | 30-min coding on-site, then a trial day&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ubots.com.br&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ubots&lt;/a&gt; | Porto Alegre, Brazil | Skype/On-site interview, take-home project, technical interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://unbounce.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Unbounce&lt;/a&gt; | Vancouver, BC | Phone screen, take-home project, project discussion, technical interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://unboxed.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Unboxed&lt;/a&gt; | London, UK | Take home feature requests, pairing with developers to extend solution, team-fit interviews, chat with a director&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.unearthlabs.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Unearth&lt;/a&gt; | Seattle, WA | Take home project, team-fit interviews, technical discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://unito.io/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Unito&lt;/a&gt; | Montreal, Canada | Team-fit interviews, technical discussion, paid take home project paired with developers.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.untappd.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Untappd&lt;/a&gt; | Wilmington, NC; New York, NY; Los Angeles, CA | Review portfolio - What projects have you worked on? + personality assessment, + interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.updater.com/jobs/openings&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Updater&lt;/a&gt; | New York, NY | Begin-at-home assignment highly relevant to role, presented and discussed during on-site.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.upstatement.com/jobs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Upstatement&lt;/a&gt; | Boston, MA; New York, NY; Remote | Phone screen, take home project relevant to our work, first round interview to discuss background and take home implementation, second round interview to meet more employees and share some of your and our recent work.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.upwave.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Upwave&lt;/a&gt; | San Francisco, CA; Remote | Intro call, take home project, live take home project review, application / system design conversation, behavioral interview, offer!&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.urbdyn.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Urban Dynamics&lt;/a&gt; | Knoxville, TN; Vilnius, Lithuania; Remote | Phone screen, take home project (&lt;a class=&#34;link&#34; href=&#34;https://github.com/urbdyn/coding_exercises&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;exercises publicly available&lt;/a&gt;), and then interview with team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.urbanmassage.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Urban Massage&lt;/a&gt; | London, UK | Project done at home, in-person walk through. Meeting the team is an integral part.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.usertesting.com/about-us/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;UserTesting&lt;/a&gt; | Atlanta, GA; San Francisco, CA; Mountain View, CA | Initial interview, pair programming, and offer&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;v---x&#34;&gt;V - X
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.v7labs.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;V7&lt;/a&gt; | London, UK; Remote | Initial screen by Talent team, first technical screen (application / system design), take-home assignment and follow-up review with extra application / system design conversation&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.valassis.com/digital-advertising&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Valassis Digital&lt;/a&gt; | Seattle, WA; San Francisco, CA; Lansing, MI; Hamburg, Germany | Phone screen, on-site interview with group, paired whiteboard problem solving and discussion, take-home project and follow-up review&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.valuemotive.com/career&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Valuemotive&lt;/a&gt; | Helsinki, Finland | Code examples from previous projects (work or hobby) or take-home exercise&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.vance.tech/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vance&lt;/a&gt; | Bangalore, India | A take-home exercise followed by two rounds of interviews: the first with a team member focusing on technical skills and practical problem-solving, and the second with the Head of Engineering, also centered on technical expertise and real-world challenges.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.varsitytutors.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Varsity Tutors&lt;/a&gt; | Remote | Take home assignment, presentation of assignment, live code review with team. Advanced / high-level chat with team based on skillset and role.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://vayu.com.au&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vayu Technology&lt;/a&gt; | Sydney, Australia; Kathmandu, Nepal | Short interview, general programming questions and short take home challenge.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.vector.com/de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vector Informatik GmbH&lt;/a&gt; | Karlruhe, Germany | Short online interview, a case study and a presentation of given solution.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://careers.venasolutions.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vena Solutions&lt;/a&gt; | Toronto, Canada | Phone screen, on-site pair-programming and code-review exercise on a real-world problem&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.venminder.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Venminder, Inc.&lt;/a&gt; | Elizabethtown, KY; Louisville, KY | Initial phone screen to explain position. If candidate interested they get a take home assignment followed by a non-scripted in-person interview with team members to judge personality fit.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://verloop.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Verloop&lt;/a&gt; | Bengaluru, India | A take home programming exercise and technical discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://verve.co/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Verve&lt;/a&gt; | London, UK | An intentionally short, take home exercise that mirrors real project work and incorporates code review elements&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://verveindustrial.com/why-verve/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Verve Industrial Protection&lt;/a&gt; | Madison, WI / Remote | Phone screen, project discussion and tooling experience overview in panel interview with team, practical shared-editor coding problem and relevant architectural challenge in hands-on interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.vinta.com.br/careers/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vinta Software&lt;/a&gt; | Recife, Brazil | Culture fit interview, architectural challenge, take home project, and pairing over work sample&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://virtual7.de/de/karriere&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;virtual7&lt;/a&gt; | Kalrsruhe, Germany | Phone interview and on-site interview based on personal experience.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.vhslab.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Virtually Human&lt;/a&gt; | Remote | Take home assignment, Short interview around the assignment and past experience.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.e-conomic.dk/om/job&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Visma e-conomic&lt;/a&gt; | Copenhagen, Denmark | Take home assignment, assignment presentation and discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://vitalitysouth.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vitality South&lt;/a&gt; | Tupelo, MS | Take home project, code review, and in-person discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://voltra.co&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Voltra Co.&lt;/a&gt; | Amsterdam, Netherlands / New York, NY / Remote | Show us your github account, tell us what you know. Let&amp;rsquo;s pair on an OSS PR!&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://https://vsx.net/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VSX&lt;/a&gt; | Dresden, Germany | On-site interview, home coding challenge, presentation/discussion of proposed solutions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://lab.vtex.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VTEX&lt;/a&gt; | Rio de Janeiro, Brazil | Take-home project, Skype interview and then in-person talk.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://buildingvts.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VTS&lt;/a&gt; | New York City, New York | Technical Phone Screen, Pair programming on-site &amp;amp; in-person talks with multiple engineers&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://apply.workable.com/wallapop/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Wallapop&lt;/a&gt; | Barcelona, Spain | Intro call, technical take-home project OR tech repository you feel proud that highlights your skills for the job, practical interview and finally a competency interview&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://waymark.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Waymark&lt;/a&gt; | Detroit, MI | Technical phone screen, take-home project, going over the project in person, follow up day in the office&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.wealthsimple.com/work-with-us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Wealthsimple&lt;/a&gt; | Toronto, Canada | Pair programming on a problem similar to daily work, discussion of system design&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.wearehive.co.uk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WeAreHive&lt;/a&gt; | London, UK | Just walk us through your best code or we give you a small real-world exercise to do at home.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://webantic.co.uk/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Webantic&lt;/a&gt; | Manchester, UK | Basic TNA self-assessment and real-world problem-solving&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://webflow.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Webflow&lt;/a&gt; | San Francisco, CA &amp;amp; Remote | Short take-home challenge, followed by a paid 3-5 day freelance contract project&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://weedmaps.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Weedmaps&lt;/a&gt; | Irvine, CA; Denver, CO; Tucson, AZ; Madrid, Spain; Remote | Phone screen, Group interview, and possible code review&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.wellsfargojobs.com/en/university-programs/undergraduate-programs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Wells Fargo (Technology Program)&lt;/a&gt; | San Francisco, CA; Charlotte, NC; Des Moines, IA; Minneapolis, MN; Phoenix, AZ; St. Louis, MO | One round , Behavioral + One simple System Design Question + Questions for your resume&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://wemake.services&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;wemake.services&lt;/a&gt; | Remote | Short unpaid take-home challenge, code review, portfolio discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://wemod.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WeMod&lt;/a&gt; | Remote | Take-home &amp;amp; presentation / code review, resume discussion&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.wend.nl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Wend&lt;/a&gt; | Amsterdam, Netherlands | Face to face interview followed by a take-home assignment&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.weployapp.com/join-our-team/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Weploy&lt;/a&gt; | Melbourne, Australia; Sydney, Australia | Phase 1: Face to face interview to get to know the candidate. Phase 2: Problem solving session that involves designing a solution to a real-world problem followed by 1/2 day of pairing with a senior dev on implementing the proposed solution.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://wetransfer.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WeTransfer&lt;/a&gt; | Amsterdam, Netherlands | Culture fit and fundamentals chat, skills interview - no whiteboarding! - and take-home project, communication and collaboration interview, meet with the VP of Engineering&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://wheely.com/en/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Wheely&lt;/a&gt; | Moscow, Russia | Get to know each other in under 30 minutes on-site or via Skype, take-home challenge, on-site review and interview with the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://wikimediafoundation.org/about/jobs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Wikimedia Foundation&lt;/a&gt; | Remote | Cultural fit interview, about one hour of discussing possible solutions for real problems the team you are applying to could face. Not right or wrong answers, more of a brainstorming with two engineers who will evaluate how your problem solving workflow works.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://windy.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Windy.com&lt;/a&gt; | Prague, Czechia | Talk and write small program on a computer&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://wirecardbrasil.workable.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Wirecard Brasil&lt;/a&gt; | São Paulo, Brazil | Phone or on-site Cultural Fit interview, take-home coding challenge, code review and discussing in-person.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://wiredcraft.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Wiredcraft&lt;/a&gt; | Shanghai, China | Phone or on-site interview, take-home coding challenge, code review and discussing in-person.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://worldgaming.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WorldGaming&lt;/a&gt; | Toronto, Canada | Technical Interview, Solution Design, Take Home Assignment, then Culture fit interview with the team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://wyeworks.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WyeWorks&lt;/a&gt; | Montevideo, Uruguay | Take-home project and discussion on-site&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://x-team.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;X-Team&lt;/a&gt; | Remote | A short, fun Node.js challenge, followed by a series of culture-based interview questions, followed by a creative mock project with tons of freedom on how to approach, and follow-up questions about the approach they chose to discuss the tradeoffs. Usually a 10-30 day paid training is rewarded to top candidates to prep them for remote communication skills needed to join a team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://xebia.com/careers/security/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Xebia Security&lt;/a&gt; | Hilversum, Netherlands | Culture fit, Technical interview, followed by take-home security project, on-site brainstorm session to discuss the solutions and approach.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.xing.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;XING&lt;/a&gt; | Hamburg, Germany | Take-home coding challenge, on-site review and short interviews with future team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ourxplor.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Xplor&lt;/a&gt; | Melbourne, Australia; London, UK | Phone Cultural Fit interview, Take home-code challenge, pair-programming session and discussion about past experience&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;y---&#34;&gt;Y - #
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://21re.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;21st Real Estate&lt;/a&gt; | Berlin, Germany | Phone call for quick personal introduction followed by Video call interview. Finally, a pair-programming session on-site.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://23technologies.cloud&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;23 Technologies&lt;/a&gt; | Remote | Three video calls: general introduction, team introduction, contract&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://3boxlabs.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;3BoxLabs&lt;/a&gt; | Remote | Intro call, resume walk-through, and finally live work exercise with ~2 hours independent work followed by ~1.5 hour debrief discussing the work with the rest of the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://3dhubs.com/jobs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;3D Hubs&lt;/a&gt; | Amsterdam, The Netherlands | Take-home code challenge from our product&amp;rsquo;s domain followed by discussion remote/on-site, sometimes do an additional on-site pair programming session.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://47-degrees.breezy.hr&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;47 Degrees&lt;/a&gt; | Remote; Seattle, WA; Madrid, ESP; Cadiz, ESP; London, UK | Questions related to implementation of specific projects using popular functional programming libraries and techniques and a discussion about the tradeoffs. Discussion of past open-source projects/contributions and future open-source goals. &lt;strong&gt;Note:&lt;/strong&gt; This company looks for people who have modern functional programming experience in Haskell, Scala, Swift, or Kotlin and it looks for people who have existing open-source contributions in those fields so the roles can be a bit self-selecting.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://4degrees.ai/about/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;4Degrees&lt;/a&gt; | Chicago, Illinois | Collaborative pair-programming exercise done through video chat that&amp;rsquo;s representative of the responsibilities of the job then a take-home programming task.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://500Tech.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;500Tech&lt;/a&gt; | Tel Aviv, Israel | Pair programming on a laptop in working env&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://5minds.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;5Minds&lt;/a&gt; | Remote; Gelsenkirchen-Buer, DE | Coding exercise via GitHub, you are interviewed by a developer and a team lead, there is no live coding.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://8thlight.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;8th Light&lt;/a&gt; | Chicago, IL; London, UK; Los Angeles, CA; New York, NY | Take home code challenge, discussion, pair programming session&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.yld.io/join-us&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;YLD&lt;/a&gt; | London, UK; Lisbon, PT; Porto, PT &amp;amp; Remote | Take home-code challenge, pair-programming session and discussion about past experience&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yodas.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Yodas&lt;/a&gt; | Binyamina, Israel | Coding tasks over github repository&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yougov.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;YouGov&lt;/a&gt; | Remote; San Francisco, CA; London, UK; Warsaw, Poland; Mumbai, India; Hong Kong, China | Coding exercise sometimes over github repository, at least 1 interview with a developer and a lead, no live coding.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://yoyowallet.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Yoyo Wallet&lt;/a&gt; | London, UK | Take home code challenge, discussion of the code challenge, and general, high level questions&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.yunojuno.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;YunoJuno&lt;/a&gt; | London, UK | Code challenge based on a realistic feature request on a real open-source package created and used at YunoJuno; phone/video interview with members of the Product team to explore technical background, experiences, interests, cultural fit; on-site interview, usually with Product Manager and CTO.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://jobs.kenoby.com/grupozap/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ZAP Group&lt;/a&gt; | São Paulo, Brazil | Takehome exercise; a series of real-world interviews with engineers, HR, engineering managers and product managers on site.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://zapier.com/jobs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zapier&lt;/a&gt; | Remote | Recruiter interview, take-home project, code review of the take-home project, technical discussions with hiring manager and engineers from the team, and a values interview.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.zencargo.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zencargo&lt;/a&gt; | London, UK | Initial interview with CTO, covering professional experience interests and expectations, followed by one technical interview focused on fundamentals and familiarity with best practices. A further short chat with co-founders to get to know each other - either onsite or remote.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.zenefits.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zenefits (UI Team)&lt;/a&gt; | San Francisco, CA | One technical phone screen focused on JS fundamentals and/or one timeboxed take-home challenge. The onsite is a series of interviews designed to test your understanding of JS, HTML/CSS, design, etc.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.zensurance.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zensurance&lt;/a&gt; | Toronto, Canada; Remote | Timeboxed take-home challenge representative of the types of challenges faced day-to-day, and zoom chats with recruiter / hiring managers.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://zerodha.com/careers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zerodha&lt;/a&gt; | Bengaluru, India | Technical call at the beginning and one take home programming task.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.zweitag.de/karriere&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zweitag&lt;/a&gt; | Münster, Germany &amp;amp; Remote | Get-to-know call, take-home task representative to our problems, on-site pairing and discussion, and mentoring throughout the process with talks for aligning expectations.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;also-see&#34;&gt;Also see:
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://they.whiteboarded.me&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;They Whiteboarded Me!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/poteto/hiring-without-whiteboards/actions/workflows/node.js.yml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://github.com/poteto/hiring-without-whiteboards/actions/workflows/node.js.yml/badge.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Node.js CI&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>javascript-questions</title>
        <link>https://producthunt.programnotes.cn/en/p/javascript-questions/</link>
        <pubDate>Sun, 03 Aug 2025 15:30:08 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/javascript-questions/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1593549896633-e5ac3cc29f41?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTQyMDYxMjV8&amp;ixlib=rb-4.1.0" alt="Featured image of post javascript-questions" /&gt;&lt;h1 id=&#34;lydiahalliejavascript-questions&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/lydiahallie/javascript-questions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;lydiahallie/javascript-questions&lt;/a&gt;
&lt;/h1&gt;&lt;div align=&#34;center&#34;&gt;
  &lt;img height=&#34;60&#34; src=&#34;https://img.icons8.com/color/344/javascript.png&#34;&gt;
  &lt;h1&gt;JavaScript Questions&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;[!NOTE]&lt;br&gt;
This repo was created in 2019 and the questions provided here are therefore based on the JavaScript syntax and behavior at that time. Since JavaScript is a constantly evolving language, there are newer language features that are not covered by the questions here.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;p align=&#34;center&#34;&gt;
From basic to advanced: test how well you know JavaScript, refresh your knowledge a bit or prepare for your coding interview! :muscle: :rocket: I update this repo regularly with new questions. I added the answers in the **collapsed sections** below the questions, simply click on them to expand it. It&#39;s just for fun, good luck! :heart:&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;Feel free to reach out to me! 😊&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://www.instagram.com/theavocoder&#34;&gt;Instagram&lt;/a&gt; || &lt;a href=&#34;https://www.twitter.com/lydiahallie&#34;&gt;Twitter&lt;/a&gt; || &lt;a href=&#34;https://www.linkedin.com/in/lydia-hallie&#34;&gt;LinkedIn&lt;/a&gt; || &lt;a href=&#34;https://www.lydiahallie.io/&#34;&gt;Blog&lt;/a&gt;
&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Feel free to use them in a project! 😃 I would &lt;em&gt;really&lt;/em&gt; appreciate a reference to this repo, I create the questions and explanations (yes I&amp;rsquo;m sad lol) and the community helps me so much to maintain and improve it! 💪🏼 Thank you and have fun!&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;details&gt;&lt;summary&gt;&lt;strong&gt; See 20 Available Translations 🇸🇦🇪🇬🇧🇦🇩🇪🇪🇸🇫🇷🇮🇩🇯🇵🇰🇷🇳🇱🇧🇷🇷🇺🇹🇭🇹🇷🇺🇦🇻🇳🇨🇳🇹🇼🇽🇰&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./ar-AR/README_AR.md&#34; &gt;🇸🇦 العربية&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./ar-EG/README_ar-EG.md&#34; &gt;🇪🇬 اللغة العامية&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./bs-BS/README-bs_BS.md&#34; &gt;🇧🇦 Bosanski&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./de-DE/README.md&#34; &gt;🇩🇪 Deutsch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./es-ES/README-ES.md&#34; &gt;🇪🇸 Español&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./fr-FR/README_fr-FR.md&#34; &gt;🇫🇷 Français&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./id-ID/README.md&#34; &gt;🇮🇩 Indonesia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./it-IT/README.md&#34; &gt;🇮🇹 Italiano&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./ja-JA/README-ja_JA.md&#34; &gt;🇯🇵 日本語&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./ko-KR/README-ko_KR.md&#34; &gt;🇰🇷 한국어&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./nl-NL/README.md&#34; &gt;🇳🇱 Nederlands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./pl-PL/README.md&#34; &gt;🇵🇱 Polski&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./pt-BR/README_pt_BR.md&#34; &gt;🇧🇷 Português Brasil&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./ro-RO/README.ro.md&#34; &gt;🇷o Română&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./ru-RU/README.md&#34; &gt;🇷🇺 Русский&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./sq-KS/README_sq_KS.md&#34; &gt;🇽🇰 Shqip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./th-TH/README-th_TH.md&#34; &gt;🇹🇭 ไทย&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./tr-TR/README-tr_TR.md&#34; &gt;🇹🇷 Türkçe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./uk-UA/README.md&#34; &gt;🇺🇦 Українська мова&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./vi-VI/README-vi.md&#34; &gt;🇻🇳 Tiếng Việt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./zh-CN/README-zh_CN.md&#34; &gt;🇨🇳 简体中文&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./zh-TW/README_zh-TW.md&#34; &gt;🇹🇼 繁體中文&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;1-whats-the-output&#34;&gt;1. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sayHi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;sayHi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;Lydia&lt;/code&gt; and &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Lydia&lt;/code&gt; and &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;ReferenceError&lt;/code&gt; and &lt;code&gt;21&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt; and &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;Within the function, we first declare the &lt;code&gt;name&lt;/code&gt; variable with the &lt;code&gt;var&lt;/code&gt; keyword. This means that the variable gets hoisted (memory space is set up during the creation phase) with the default value of &lt;code&gt;undefined&lt;/code&gt;, until we actually get to the line where we define the variable. We haven&amp;rsquo;t defined the variable yet on the line where we try to log the &lt;code&gt;name&lt;/code&gt; variable, so it still holds the value of &lt;code&gt;undefined&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Variables with the &lt;code&gt;let&lt;/code&gt; keyword (and &lt;code&gt;const&lt;/code&gt;) are hoisted, but unlike &lt;code&gt;var&lt;/code&gt;, don&amp;rsquo;t get &lt;i&gt;initialized&lt;/i&gt;. They are not accessible before the line we declare (initialize) them. This is called the &amp;ldquo;temporal dead zone&amp;rdquo;. When we try to access the variables before they are declared, JavaScript throws a &lt;code&gt;ReferenceError&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;2-whats-the-output&#34;&gt;2. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;setTimeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;setTimeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;0 1 2&lt;/code&gt; and &lt;code&gt;0 1 2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;0 1 2&lt;/code&gt; and &lt;code&gt;3 3 3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;3 3 3&lt;/code&gt; and &lt;code&gt;0 1 2&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;Because of the event queue in JavaScript, the &lt;code&gt;setTimeout&lt;/code&gt; callback function is called &lt;em&gt;after&lt;/em&gt; the loop has been executed. Since the variable &lt;code&gt;i&lt;/code&gt; in the first loop was declared using the &lt;code&gt;var&lt;/code&gt; keyword, this value was global. During the loop, we incremented the value of &lt;code&gt;i&lt;/code&gt; by &lt;code&gt;1&lt;/code&gt; each time, using the unary operator &lt;code&gt;++&lt;/code&gt;. By the time the &lt;code&gt;setTimeout&lt;/code&gt; callback function was invoked, &lt;code&gt;i&lt;/code&gt; was equal to &lt;code&gt;3&lt;/code&gt; in the first example.&lt;/p&gt;
&lt;p&gt;In the second loop, the variable &lt;code&gt;i&lt;/code&gt; was declared using the &lt;code&gt;let&lt;/code&gt; keyword: variables declared with the &lt;code&gt;let&lt;/code&gt; (and &lt;code&gt;const&lt;/code&gt;) keyword are block-scoped (a block is anything between &lt;code&gt;{ }&lt;/code&gt;). During each iteration, &lt;code&gt;i&lt;/code&gt; will have a new value, and each value is scoped inside the loop.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;3-whats-the-output&#34;&gt;3. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;shape&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;diameter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;radius&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;perimeter&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Math&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;PI&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;radius&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;shape&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;diameter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;shape&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;perimeter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;20&lt;/code&gt; and &lt;code&gt;62.83185307179586&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;20&lt;/code&gt; and &lt;code&gt;NaN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;20&lt;/code&gt; and &lt;code&gt;63&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;NaN&lt;/code&gt; and &lt;code&gt;63&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;Note that the value of &lt;code&gt;diameter&lt;/code&gt; is a regular function, whereas the value of &lt;code&gt;perimeter&lt;/code&gt; is an arrow function.&lt;/p&gt;
&lt;p&gt;With arrow functions, the &lt;code&gt;this&lt;/code&gt; keyword refers to its current surrounding scope, unlike regular functions! This means that when we call &lt;code&gt;perimeter&lt;/code&gt;, it doesn&amp;rsquo;t refer to the shape object, but to its surrounding scope (window for example).&lt;/p&gt;
&lt;p&gt;Since there is no value &lt;code&gt;radius&lt;/code&gt; in the scope of the arrow function, &lt;code&gt;this.radius&lt;/code&gt; returns &lt;code&gt;undefined&lt;/code&gt; which, when multiplied by &lt;code&gt;2 * Math.PI&lt;/code&gt;, results in &lt;code&gt;NaN&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;4-whats-the-output&#34;&gt;4. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;1&lt;/code&gt; and &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;false&lt;/code&gt; and &lt;code&gt;NaN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;false&lt;/code&gt; and &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;The unary plus tries to convert an operand to a number. &lt;code&gt;true&lt;/code&gt; is &lt;code&gt;1&lt;/code&gt;, and &lt;code&gt;false&lt;/code&gt; is &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The string &lt;code&gt;&#39;Lydia&#39;&lt;/code&gt; is a truthy value. What we&amp;rsquo;re actually asking, is &amp;ldquo;Is this truthy value falsy?&amp;rdquo;. This returns &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;5-which-one-is-true&#34;&gt;5. Which one is true?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;bird&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;small&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;mouse&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Mickey&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;small&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;mouse.bird.size&lt;/code&gt; is not valid&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;mouse[bird.size]&lt;/code&gt; is not valid&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;mouse[bird[&amp;quot;size&amp;quot;]]&lt;/code&gt; is not valid&lt;/li&gt;
&lt;li&gt;D: All of them are valid&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-1&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;In JavaScript, all object keys are strings (unless it&amp;rsquo;s a Symbol). Even though we might not &lt;em&gt;type&lt;/em&gt; them as strings, they are always converted into strings under the hood.&lt;/p&gt;
&lt;p&gt;JavaScript interprets (or unboxes) statements. When we use bracket notation, it sees the first opening bracket &lt;code&gt;[&lt;/code&gt; and keeps going until it finds the closing bracket &lt;code&gt;]&lt;/code&gt;. Only then, it will evaluate the statement.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mouse[bird.size]&lt;/code&gt;: First it evaluates &lt;code&gt;bird.size&lt;/code&gt;, which is &lt;code&gt;&amp;quot;small&amp;quot;&lt;/code&gt;. &lt;code&gt;mouse[&amp;quot;small&amp;quot;]&lt;/code&gt; returns &lt;code&gt;true&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;However, with dot notation, this doesn&amp;rsquo;t happen. &lt;code&gt;mouse&lt;/code&gt; does not have a key called &lt;code&gt;bird&lt;/code&gt;, which means that &lt;code&gt;mouse.bird&lt;/code&gt; is &lt;code&gt;undefined&lt;/code&gt;. Then, we ask for the &lt;code&gt;size&lt;/code&gt; using dot notation: &lt;code&gt;mouse.bird.size&lt;/code&gt;. Since &lt;code&gt;mouse.bird&lt;/code&gt; is &lt;code&gt;undefined&lt;/code&gt;, we&amp;rsquo;re actually asking &lt;code&gt;undefined.size&lt;/code&gt;. This isn&amp;rsquo;t valid, and will throw an error similar to &lt;code&gt;Cannot read property &amp;quot;size&amp;quot; of undefined&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;6-whats-the-output&#34;&gt;6. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;c&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;greeting&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Hey!&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;d&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;greeting&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Hello&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;greeting&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;Hello&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Hey!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;E: &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-2&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;In JavaScript, all objects interact by &lt;em&gt;reference&lt;/em&gt; when setting them equal to each other.&lt;/p&gt;
&lt;p&gt;First, variable &lt;code&gt;c&lt;/code&gt; holds a value to an object. Later, we assign &lt;code&gt;d&lt;/code&gt; with the same reference that &lt;code&gt;c&lt;/code&gt; has to the object.&lt;/p&gt;
&lt;img src=&#34;https://i.imgur.com/ko5k0fs.png&#34; width=&#34;200&#34;&gt;
&lt;p&gt;When you change one object, you change all of them.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;7-whats-the-output&#34;&gt;7. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;c&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;true&lt;/code&gt; &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;false&lt;/code&gt; &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;true&lt;/code&gt; &lt;code&gt;false&lt;/code&gt; &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-1&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;new Number()&lt;/code&gt; is a built-in function constructor. Although it looks like a number, it&amp;rsquo;s not really a number: it has a bunch of extra features and is an object.&lt;/p&gt;
&lt;p&gt;When we use the &lt;code&gt;==&lt;/code&gt; operator (Equality operator), it only checks whether it has the same &lt;em&gt;value&lt;/em&gt;. They both have the value of &lt;code&gt;3&lt;/code&gt;, so it returns &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;However, when we use the &lt;code&gt;===&lt;/code&gt; operator (Strict equality operator), both value &lt;em&gt;and&lt;/em&gt; type should be the same. It&amp;rsquo;s not: &lt;code&gt;new Number()&lt;/code&gt; is not a number, it&amp;rsquo;s an &lt;strong&gt;object&lt;/strong&gt;. Both return &lt;code&gt;false.&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;8-whats-the-output&#34;&gt;8. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Chameleon&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;static&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;colorChange&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;newColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;newColor&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;newColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;newColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;newColor&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;green&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{})&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;newColor&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;newColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;freddie&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Chameleon&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;newColor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;purple&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;freddie&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;colorChange&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;orange&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;orange&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;purple&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;green&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-1&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;colorChange&lt;/code&gt; function is static. Static methods are designed to live only on the constructor in which they are created, and cannot be passed down to any children or called upon class instances. Since &lt;code&gt;freddie&lt;/code&gt; is an instance of class Chameleon, the function cannot be called upon it. A &lt;code&gt;TypeError&lt;/code&gt; is thrown.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;9-whats-the-output&#34;&gt;9. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;greeting&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;greetign&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{};&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// Typo!
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;greetign&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;ReferenceError: greetign is not defined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-3&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;It logs the object, because we just created an empty object on the global object! When we mistyped &lt;code&gt;greeting&lt;/code&gt; as &lt;code&gt;greetign&lt;/code&gt;, the JS interpreter actually saw this as:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;global.greetign = {}&lt;/code&gt; in Node.js&lt;/li&gt;
&lt;li&gt;&lt;code&gt;window.greetign = {}&lt;/code&gt;, &lt;code&gt;frames.greetign = {}&lt;/code&gt; and &lt;code&gt;self.greetign&lt;/code&gt; in browsers.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;self.greetign&lt;/code&gt; in web workers.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;globalThis.greetign&lt;/code&gt; in all environments.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In order to avoid this, we can use &lt;code&gt;&amp;quot;use strict&amp;quot;&lt;/code&gt;. This makes sure that you have declared a variable before setting it equal to anything.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;10-what-happens-when-we-do-this&#34;&gt;10. What happens when we do this?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;bark&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Woof!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bark&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;animal&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;dog&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: Nothing, this is totally fine!&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;SyntaxError&lt;/code&gt;. You cannot add properties to a function this way.&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;Woof&amp;quot;&lt;/code&gt; gets logged.&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-4&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;This is possible in JavaScript, because functions are objects! (Everything besides primitive types are objects)&lt;/p&gt;
&lt;p&gt;A function is a special type of object. The code you write yourself isn&amp;rsquo;t the actual function. The function is an object with properties. This property is invocable.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;11-whats-the-output&#34;&gt;11. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;lastName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;lastName&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;lastName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;member&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Hallie&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getFullName&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;lastName&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;member&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getFullName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Lydia Hallie&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-5&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;In JavaScript, functions are objects, and therefore, the method &lt;code&gt;getFullName&lt;/code&gt; gets added to the constructor function object itself. For that reason, we can call &lt;code&gt;Person.getFullName()&lt;/code&gt;, but &lt;code&gt;member.getFullName&lt;/code&gt; throws a &lt;code&gt;TypeError&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you want a method to be available to all object instances, you have to add it to the prototype property:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prototype&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getFullName&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;lastName&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;12-whats-the-output&#34;&gt;12. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;lastName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;lastName&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;lastName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;lydia&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Hallie&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sarah&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Sarah&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Smith&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;lydia&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sarah&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;Person {firstName: &amp;quot;Lydia&amp;quot;, lastName: &amp;quot;Hallie&amp;quot;}&lt;/code&gt; and &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Person {firstName: &amp;quot;Lydia&amp;quot;, lastName: &amp;quot;Hallie&amp;quot;}&lt;/code&gt; and &lt;code&gt;Person {firstName: &amp;quot;Sarah&amp;quot;, lastName: &amp;quot;Smith&amp;quot;}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Person {firstName: &amp;quot;Lydia&amp;quot;, lastName: &amp;quot;Hallie&amp;quot;}&lt;/code&gt; and &lt;code&gt;{}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Person {firstName: &amp;quot;Lydia&amp;quot;, lastName: &amp;quot;Hallie&amp;quot;}&lt;/code&gt; and &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-6&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;For &lt;code&gt;sarah&lt;/code&gt;, we didn&amp;rsquo;t use the &lt;code&gt;new&lt;/code&gt; keyword. When using &lt;code&gt;new&lt;/code&gt;, &lt;code&gt;this&lt;/code&gt; refers to the new empty object we create. However, if you don&amp;rsquo;t add &lt;code&gt;new&lt;/code&gt;, &lt;code&gt;this&lt;/code&gt; refers to the &lt;strong&gt;global object&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;We said that &lt;code&gt;this.firstName&lt;/code&gt; equals &lt;code&gt;&amp;quot;Sarah&amp;quot;&lt;/code&gt; and &lt;code&gt;this.lastName&lt;/code&gt; equals &lt;code&gt;&amp;quot;Smith&amp;quot;&lt;/code&gt;. What we actually did, is defining &lt;code&gt;global.firstName = &#39;Sarah&#39;&lt;/code&gt; and &lt;code&gt;global.lastName = &#39;Smith&#39;&lt;/code&gt;. &lt;code&gt;sarah&lt;/code&gt; itself is left &lt;code&gt;undefined&lt;/code&gt;, since we don&amp;rsquo;t return a value from the &lt;code&gt;Person&lt;/code&gt; function.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;13-what-are-the-three-phases-of-event-propagation&#34;&gt;13. What are the three phases of event propagation?
&lt;/h6&gt;&lt;ul&gt;
&lt;li&gt;A: Target &amp;gt; Capturing &amp;gt; Bubbling&lt;/li&gt;
&lt;li&gt;B: Bubbling &amp;gt; Target &amp;gt; Capturing&lt;/li&gt;
&lt;li&gt;C: Target &amp;gt; Bubbling &amp;gt; Capturing&lt;/li&gt;
&lt;li&gt;D: Capturing &amp;gt; Target &amp;gt; Bubbling&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-2&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;During the &lt;strong&gt;capturing&lt;/strong&gt; phase, the event goes through the ancestor elements down to the target element. It then reaches the &lt;strong&gt;target&lt;/strong&gt; element, and &lt;strong&gt;bubbling&lt;/strong&gt; begins.&lt;/p&gt;
&lt;img src=&#34;https://i.imgur.com/N18oRgd.png&#34; width=&#34;200&#34;&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;14-all-object-have-prototypes&#34;&gt;14. All object have prototypes.
&lt;/h6&gt;&lt;ul&gt;
&lt;li&gt;A: true&lt;/li&gt;
&lt;li&gt;B: false&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-1&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;All objects have prototypes, except for the &lt;strong&gt;base object&lt;/strong&gt;. The base object is the object created by the user, or an object that is created using the &lt;code&gt;new&lt;/code&gt; keyword. The base object has access to some methods and properties, such as &lt;code&gt;.toString&lt;/code&gt;. This is the reason why you can use built-in JavaScript methods! All of such methods are available on the prototype. Although JavaScript can&amp;rsquo;t find it directly on your object, it goes down the prototype chain and finds it there, which makes it accessible for you.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;15-whats-the-output&#34;&gt;15. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;2&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;NaN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;12&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;3&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-2&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;JavaScript is a &lt;strong&gt;dynamically typed language&lt;/strong&gt;: we don&amp;rsquo;t specify what types certain variables are. Values can automatically be converted into another type without you knowing, which is called &lt;em&gt;implicit type coercion&lt;/em&gt;. &lt;strong&gt;Coercion&lt;/strong&gt; is converting from one type into another.&lt;/p&gt;
&lt;p&gt;In this example, JavaScript converts the number &lt;code&gt;1&lt;/code&gt; into a string, in order for the function to make sense and return a value. During the addition of a numeric type (&lt;code&gt;1&lt;/code&gt;) and a string type (&lt;code&gt;&#39;2&#39;&lt;/code&gt;), the number is treated as a string. We can concatenate strings like &lt;code&gt;&amp;quot;Hello&amp;quot; + &amp;quot;World&amp;quot;&lt;/code&gt;, so what&amp;rsquo;s happening here is &lt;code&gt;&amp;quot;1&amp;quot; + &amp;quot;2&amp;quot;&lt;/code&gt; which returns &lt;code&gt;&amp;quot;12&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;16-whats-the-output&#34;&gt;16. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;number&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; &lt;code&gt;2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;0&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; &lt;code&gt;2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;0&lt;/code&gt; &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-3&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The &lt;strong&gt;postfix&lt;/strong&gt; unary operator &lt;code&gt;++&lt;/code&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Returns the value (this returns &lt;code&gt;0&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Increments the value (number is now &lt;code&gt;1&lt;/code&gt;)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The &lt;strong&gt;prefix&lt;/strong&gt; unary operator &lt;code&gt;++&lt;/code&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Increments the value (number is now &lt;code&gt;2&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Returns the value (this returns &lt;code&gt;2&lt;/code&gt;)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This returns &lt;code&gt;0 2 2&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;17-whats-the-output&#34;&gt;17. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getPersonInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;one&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;two&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;three&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;one&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;two&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;three&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;getPersonInfo&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt; is &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt; years old`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;Lydia&amp;quot;&lt;/code&gt; &lt;code&gt;21&lt;/code&gt; &lt;code&gt;[&amp;quot;&amp;quot;, &amp;quot; is &amp;quot;, &amp;quot; years old&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[&amp;quot;&amp;quot;, &amp;quot; is &amp;quot;, &amp;quot; years old&amp;quot;]&lt;/code&gt; &lt;code&gt;&amp;quot;Lydia&amp;quot;&lt;/code&gt; &lt;code&gt;21&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;Lydia&amp;quot;&lt;/code&gt; &lt;code&gt;[&amp;quot;&amp;quot;, &amp;quot; is &amp;quot;, &amp;quot; years old&amp;quot;]&lt;/code&gt; &lt;code&gt;21&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-2&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;If you use tagged template literals, the value of the first argument is always an array of the string values. The remaining arguments get the values of the passed expressions!&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;18-whats-the-output&#34;&gt;18. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;checkAge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;18&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;You are an adult!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;18&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;You are still an adult.&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`Hmm.. You don&amp;#39;t have an age I guess`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;checkAge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;18&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;You are an adult!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;You are still an adult.&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Hmm.. You don&#39;t have an age I guess&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-4&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;When testing equality, primitives are compared by their &lt;em&gt;value&lt;/em&gt;, while objects are compared by their &lt;em&gt;reference&lt;/em&gt;. JavaScript checks if the objects have a reference to the same location in memory.&lt;/p&gt;
&lt;p&gt;The two objects that we are comparing don&amp;rsquo;t have that: the object we passed as a parameter refers to a different location in memory than the object we used in order to check equality.&lt;/p&gt;
&lt;p&gt;This is why both &lt;code&gt;{ age: 18 } === { age: 18 }&lt;/code&gt; and &lt;code&gt;{ age: 18 } == { age: 18 }&lt;/code&gt; return &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;19-whats-the-output&#34;&gt;19. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getAge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;getAge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;number&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;array&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;object&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;NaN&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-5&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The rest parameter (&lt;code&gt;...args&lt;/code&gt;) lets us &amp;ldquo;collect&amp;rdquo; all remaining arguments into an array. An array is an object, so &lt;code&gt;typeof args&lt;/code&gt; returns &lt;code&gt;&amp;quot;object&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;20-whats-the-output&#34;&gt;20. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getAge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s1&#34;&gt;&amp;#39;use strict&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;getAge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;21&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-6&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;With &lt;code&gt;&amp;quot;use strict&amp;quot;&lt;/code&gt;, you can make sure that you don&amp;rsquo;t accidentally declare global variables. We never declared the variable &lt;code&gt;age&lt;/code&gt;, and since we use &lt;code&gt;&amp;quot;use strict&amp;quot;&lt;/code&gt;, it will throw a reference error. If we didn&amp;rsquo;t use &lt;code&gt;&amp;quot;use strict&amp;quot;&lt;/code&gt;, it would have worked, since the property &lt;code&gt;age&lt;/code&gt; would have gotten added to the global object.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;21-whats-the-value-of-sum&#34;&gt;21. What&amp;rsquo;s the value of &lt;code&gt;sum&lt;/code&gt;?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;10*10+5&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;105&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;105&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;10*10+5&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-7&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;eval&lt;/code&gt; evaluates code that&amp;rsquo;s passed as a string. If it&amp;rsquo;s an expression, like in this case, it evaluates the expression. The expression is &lt;code&gt;10 * 10 + 5&lt;/code&gt;. This returns the number &lt;code&gt;105&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;22-how-long-is-cool_secret-accessible&#34;&gt;22. How long is cool_secret accessible?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;sessionStorage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;setItem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;cool_secret&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;123&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: Forever, the data doesn&amp;rsquo;t get lost.&lt;/li&gt;
&lt;li&gt;B: When the user closes the tab.&lt;/li&gt;
&lt;li&gt;C: When the user closes the entire browser, not only the tab.&lt;/li&gt;
&lt;li&gt;D: When the user shuts off their computer.&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-3&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;The data stored in &lt;code&gt;sessionStorage&lt;/code&gt; is removed after closing the &lt;em&gt;tab&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;If you used &lt;code&gt;localStorage&lt;/code&gt;, the data would&amp;rsquo;ve been there forever, unless for example &lt;code&gt;localStorage.clear()&lt;/code&gt; is invoked.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;23-whats-the-output&#34;&gt;23. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;8&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;10&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-4&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;var&lt;/code&gt; keyword, you can declare multiple variables with the same name. The variable will then hold the latest value.&lt;/p&gt;
&lt;p&gt;You cannot do this with &lt;code&gt;let&lt;/code&gt; or &lt;code&gt;const&lt;/code&gt; since they&amp;rsquo;re block-scoped and therefore can&amp;rsquo;t be redeclared.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;24-whats-the-output&#34;&gt;24. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;obj&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;obj&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;hasOwnProperty&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;1&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;obj&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;hasOwnProperty&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;has&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;1&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;has&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;true&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;true&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-7&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;All object keys (excluding Symbols) are strings under the hood, even if you don&amp;rsquo;t type it yourself as a string. This is why &lt;code&gt;obj.hasOwnProperty(&#39;1&#39;)&lt;/code&gt; also returns true.&lt;/p&gt;
&lt;p&gt;It doesn&amp;rsquo;t work that way for a set. There is no &lt;code&gt;&#39;1&#39;&lt;/code&gt; in our set: &lt;code&gt;set.has(&#39;1&#39;)&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt;. It has the numeric type &lt;code&gt;1&lt;/code&gt;, &lt;code&gt;set.has(1)&lt;/code&gt; returns &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;25-whats-the-output&#34;&gt;25. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;obj&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;one&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;two&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;three&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;obj&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{ a: &amp;quot;one&amp;quot;, b: &amp;quot;two&amp;quot; }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{ b: &amp;quot;two&amp;quot;, a: &amp;quot;three&amp;quot; }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{ a: &amp;quot;three&amp;quot;, b: &amp;quot;two&amp;quot; }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-8&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;If you have two keys with the same name, the key will be replaced. It will still be in its first position, but with the last specified value.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;26-the-javascript-global-execution-context-creates-two-things-for-you-the-global-object-and-the-this-keyword&#34;&gt;26. The JavaScript global execution context creates two things for you: the global object, and the &amp;ldquo;this&amp;rdquo; keyword.
&lt;/h6&gt;&lt;ul&gt;
&lt;li&gt;A: true&lt;/li&gt;
&lt;li&gt;B: false&lt;/li&gt;
&lt;li&gt;C: it depends&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-8&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;The base execution context is the global execution context: it&amp;rsquo;s what&amp;rsquo;s accessible everywhere in your code.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;27-whats-the-output&#34;&gt;27. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;continue&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; &lt;code&gt;3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; &lt;code&gt;4&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;3&lt;/code&gt; &lt;code&gt;4&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-9&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;continue&lt;/code&gt; statement skips an iteration if a certain condition returns &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;28-whats-the-output&#34;&gt;28. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;String&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prototype&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;giveLydiaPizza&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Just give Lydia pizza already!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;giveLydiaPizza&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;Just give Lydia pizza already!&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;TypeError: not a function&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-9&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;String&lt;/code&gt; is a built-in constructor, that we can add properties to. I just added a method to its prototype. Primitive strings are automatically converted into a string object, generated by the string prototype function. So, all strings (string objects) have access to that method!&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;29-whats-the-output&#34;&gt;29. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;c&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;123&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;c&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;456&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;123&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;456&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-5&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;Object keys are automatically converted into strings. We are trying to set an object as a key to object &lt;code&gt;a&lt;/code&gt;, with the value of &lt;code&gt;123&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;However, when we stringify an object, it becomes &lt;code&gt;&amp;quot;[object Object]&amp;quot;&lt;/code&gt;. So what we are saying here, is that &lt;code&gt;a[&amp;quot;[object Object]&amp;quot;] = 123&lt;/code&gt;. Then, we can try to do the same again. &lt;code&gt;c&lt;/code&gt; is another object that we are implicitly stringifying. So then, &lt;code&gt;a[&amp;quot;[object Object]&amp;quot;] = 456&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Then, we log &lt;code&gt;a[b]&lt;/code&gt;, which is actually &lt;code&gt;a[&amp;quot;[object Object]&amp;quot;]&lt;/code&gt;. We just set that to &lt;code&gt;456&lt;/code&gt;, so it returns &lt;code&gt;456&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;30-whats-the-output&#34;&gt;30. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;foo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;First&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;bar&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;setTimeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Second&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;baz&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Third&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;foo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;baz&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;First&lt;/code&gt; &lt;code&gt;Second&lt;/code&gt; &lt;code&gt;Third&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;First&lt;/code&gt; &lt;code&gt;Third&lt;/code&gt; &lt;code&gt;Second&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Second&lt;/code&gt; &lt;code&gt;First&lt;/code&gt; &lt;code&gt;Third&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Second&lt;/code&gt; &lt;code&gt;Third&lt;/code&gt; &lt;code&gt;First&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-6&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;We have a &lt;code&gt;setTimeout&lt;/code&gt; function and invoked it first. Yet, it was logged last.&lt;/p&gt;
&lt;p&gt;This is because in browsers, we don&amp;rsquo;t just have the runtime engine, we also have something called a &lt;code&gt;WebAPI&lt;/code&gt;. The &lt;code&gt;WebAPI&lt;/code&gt; gives us the &lt;code&gt;setTimeout&lt;/code&gt; function to start with, and for example the DOM.&lt;/p&gt;
&lt;p&gt;After the &lt;em&gt;callback&lt;/em&gt; is pushed to the WebAPI, the &lt;code&gt;setTimeout&lt;/code&gt; function itself (but not the callback!) is popped off the stack.&lt;/p&gt;
&lt;img src=&#34;https://i.imgur.com/X5wsHOg.png&#34; width=&#34;200&#34;&gt;
&lt;p&gt;Now, &lt;code&gt;foo&lt;/code&gt; gets invoked, and &lt;code&gt;&amp;quot;First&amp;quot;&lt;/code&gt; is being logged.&lt;/p&gt;
&lt;img src=&#34;https://i.imgur.com/Pvc0dGq.png&#34; width=&#34;200&#34;&gt;
&lt;p&gt;&lt;code&gt;foo&lt;/code&gt; is popped off the stack, and &lt;code&gt;baz&lt;/code&gt; gets invoked. &lt;code&gt;&amp;quot;Third&amp;quot;&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;img src=&#34;https://i.imgur.com/WhA2bCP.png&#34; width=&#34;200&#34;&gt;
&lt;p&gt;The WebAPI can&amp;rsquo;t just add stuff to the stack whenever it&amp;rsquo;s ready. Instead, it pushes the callback function to something called the &lt;em&gt;queue&lt;/em&gt;.&lt;/p&gt;
&lt;img src=&#34;https://i.imgur.com/NSnDZmU.png&#34; width=&#34;200&#34;&gt;
&lt;p&gt;This is where an event loop starts to work. An &lt;strong&gt;event loop&lt;/strong&gt; looks at the stack and task queue. If the stack is empty, it takes the first thing on the queue and pushes it onto the stack.&lt;/p&gt;
&lt;img src=&#34;https://i.imgur.com/uyiScAI.png&#34; width=&#34;200&#34;&gt;
&lt;p&gt;&lt;code&gt;bar&lt;/code&gt; gets invoked, &lt;code&gt;&amp;quot;Second&amp;quot;&lt;/code&gt; gets logged, and it&amp;rsquo;s popped off the stack.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;31-what-is-the-eventtarget-when-clicking-the-button&#34;&gt;31. What is the event.target when clicking the button?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;onclick&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;console.log(&amp;#39;first div&amp;#39;)&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;onclick&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;console.log(&amp;#39;second div&amp;#39;)&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;button&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;onclick&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;console.log(&amp;#39;button&amp;#39;)&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      Click!
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;button&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: Outer &lt;code&gt;div&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: Inner &lt;code&gt;div&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;button&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: An array of all nested elements.&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-10&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The deepest nested element that caused the event is the target of the event. You can stop bubbling by &lt;code&gt;event.stopPropagation&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;32-when-you-click-the-paragraph-whats-the-logged-output&#34;&gt;32. When you click the paragraph, what&amp;rsquo;s the logged output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;onclick&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;console.log(&amp;#39;div&amp;#39;)&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;p&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;onclick&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;console.log(&amp;#39;p&amp;#39;)&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Click here!
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;p&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;p&lt;/code&gt; &lt;code&gt;div&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;div&lt;/code&gt; &lt;code&gt;p&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;p&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;div&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-10&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;If we click &lt;code&gt;p&lt;/code&gt;, we see two logs: &lt;code&gt;p&lt;/code&gt; and &lt;code&gt;div&lt;/code&gt;. During event propagation, there are 3 phases: capturing, targeting, and bubbling. By default, event handlers are executed in the bubbling phase (unless you set &lt;code&gt;useCapture&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt;). It goes from the deepest nested element outwards.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;33-whats-the-output&#34;&gt;33. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sayHi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt; is &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sayHi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;call&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sayHi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;bind&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;undefined is 21&lt;/code&gt; &lt;code&gt;Lydia is 21&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;function&lt;/code&gt; &lt;code&gt;function&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Lydia is 21&lt;/code&gt; &lt;code&gt;Lydia is 21&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Lydia is 21&lt;/code&gt; &lt;code&gt;function&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-3&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;With both, we can pass the object to which we want the &lt;code&gt;this&lt;/code&gt; keyword to refer to. However, &lt;code&gt;.call&lt;/code&gt; is also &lt;em&gt;executed immediately&lt;/em&gt;!&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.bind.&lt;/code&gt; returns a &lt;em&gt;copy&lt;/em&gt; of the function, but with a bound context! It is not executed immediately.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;34-whats-the-output&#34;&gt;34. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sayHi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sayHi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;object&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;number&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;function&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;undefined&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-7&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;sayHi&lt;/code&gt; function returns the returned value of the immediately invoked function expression (IIFE). This function returned &lt;code&gt;0&lt;/code&gt;, which is type &lt;code&gt;&amp;quot;number&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;FYI: &lt;code&gt;typeof&lt;/code&gt; can return the following list of values: &lt;code&gt;undefined&lt;/code&gt;, &lt;code&gt;boolean&lt;/code&gt;, &lt;code&gt;number&lt;/code&gt;, &lt;code&gt;bigint&lt;/code&gt;, &lt;code&gt;string&lt;/code&gt;, &lt;code&gt;symbol&lt;/code&gt;, &lt;code&gt;function&lt;/code&gt; and &lt;code&gt;object&lt;/code&gt;. Note that &lt;code&gt;typeof null&lt;/code&gt; returns &lt;code&gt;&amp;quot;object&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;35-which-of-these-values-are-falsy&#34;&gt;35. Which of these values are falsy?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39; &amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Boolean&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kc&#34;&gt;undefined&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;0&lt;/code&gt;, &lt;code&gt;&#39;&#39;&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;0&lt;/code&gt;, &lt;code&gt;new Number(0)&lt;/code&gt;, &lt;code&gt;&#39;&#39;&lt;/code&gt;, &lt;code&gt;new Boolean(false)&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;0&lt;/code&gt;, &lt;code&gt;&#39;&#39;&lt;/code&gt;, &lt;code&gt;new Boolean(false)&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: All of them are falsy&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-11&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;There are 8 falsy values:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;null&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NaN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&#39;&#39;&lt;/code&gt; (empty string)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;0n&lt;/code&gt; (BigInt(0))&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Function constructors, like &lt;code&gt;new Number&lt;/code&gt; and &lt;code&gt;new Boolean&lt;/code&gt; are truthy.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;36-whats-the-output&#34;&gt;36. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;number&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;string&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;object&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;undefined&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-8&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;typeof 1&lt;/code&gt; returns &lt;code&gt;&amp;quot;number&amp;quot;&lt;/code&gt;.
&lt;code&gt;typeof &amp;quot;number&amp;quot;&lt;/code&gt; returns &lt;code&gt;&amp;quot;string&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;37-whats-the-output&#34;&gt;37. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;numbers&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;11&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[1, 2, 3, null x 7, 11]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[1, 2, 3, 11]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[1, 2, 3, empty x 7, 11]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-11&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;When you set a value to an element in an array that exceeds the length of the array, JavaScript creates something called &amp;ldquo;empty slots&amp;rdquo;. These actually have the value of &lt;code&gt;undefined&lt;/code&gt;, but you will see something like:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[1, 2, 3, empty x 7, 11]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;depending on where you run it (it&amp;rsquo;s different for every browser, node, etc.)&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;38-whats-the-output&#34;&gt;38. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;try&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;throw&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;catch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-12&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;catch&lt;/code&gt; block receives the argument &lt;code&gt;x&lt;/code&gt;. This is not the same &lt;code&gt;x&lt;/code&gt; as the variable when we pass arguments. This variable &lt;code&gt;x&lt;/code&gt; is block-scoped.&lt;/p&gt;
&lt;p&gt;Later, we set this block-scoped variable equal to &lt;code&gt;1&lt;/code&gt;, and set the value of the variable &lt;code&gt;y&lt;/code&gt;. Now, we log the block-scoped variable &lt;code&gt;x&lt;/code&gt;, which is equal to &lt;code&gt;1&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Outside of the &lt;code&gt;catch&lt;/code&gt; block, &lt;code&gt;x&lt;/code&gt; is still &lt;code&gt;undefined&lt;/code&gt;, and &lt;code&gt;y&lt;/code&gt; is &lt;code&gt;2&lt;/code&gt;. When we want to &lt;code&gt;console.log(x)&lt;/code&gt; outside of the &lt;code&gt;catch&lt;/code&gt; block, it returns &lt;code&gt;undefined&lt;/code&gt;, and &lt;code&gt;y&lt;/code&gt; returns &lt;code&gt;2&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;39-everything-in-javascript-is-either-a&#34;&gt;39. Everything in JavaScript is either a&amp;hellip;
&lt;/h6&gt;&lt;ul&gt;
&lt;li&gt;A: primitive or object&lt;/li&gt;
&lt;li&gt;B: function or object&lt;/li&gt;
&lt;li&gt;C: trick question! only objects&lt;/li&gt;
&lt;li&gt;D: number or object&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-13&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;JavaScript only has primitive types and objects.&lt;/p&gt;
&lt;p&gt;Primitive types are &lt;code&gt;boolean&lt;/code&gt;, &lt;code&gt;null&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt;, &lt;code&gt;bigint&lt;/code&gt;, &lt;code&gt;number&lt;/code&gt;, &lt;code&gt;string&lt;/code&gt;, and &lt;code&gt;symbol&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;What differentiates a primitive from an object is that primitives do not have any properties or methods; however, you&amp;rsquo;ll note that &lt;code&gt;&#39;foo&#39;.toUpperCase()&lt;/code&gt; evaluates to &lt;code&gt;&#39;FOO&#39;&lt;/code&gt; and does not result in a &lt;code&gt;TypeError&lt;/code&gt;. This is because when you try to access a property or method on a primitive like a string, JavaScript will implicitly wrap the primitive type using one of the wrapper classes, i.e. &lt;code&gt;String&lt;/code&gt;, and then immediately discard the wrapper after the expression evaluates. All primitives except for &lt;code&gt;null&lt;/code&gt; and &lt;code&gt;undefined&lt;/code&gt; exhibit this behavior.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;40-whats-the-output&#34;&gt;40. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]].&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;reduce&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;acc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;cur&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;acc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;concat&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;cur&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[0, 1, 2, 3, 1, 2]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[6, 1, 2]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[1, 2, 0, 1, 2, 3]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;[1, 2, 6]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-12&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;[1, 2]&lt;/code&gt; is our initial value. This is the value we start with, and the value of the very first &lt;code&gt;acc&lt;/code&gt;. During the first round, &lt;code&gt;acc&lt;/code&gt; is &lt;code&gt;[1,2]&lt;/code&gt;, and &lt;code&gt;cur&lt;/code&gt; is &lt;code&gt;[0, 1]&lt;/code&gt;. We concatenate them, which results in &lt;code&gt;[1, 2, 0, 1]&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Then, &lt;code&gt;[1, 2, 0, 1]&lt;/code&gt; is &lt;code&gt;acc&lt;/code&gt; and &lt;code&gt;[2, 3]&lt;/code&gt; is &lt;code&gt;cur&lt;/code&gt;. We concatenate them, and get &lt;code&gt;[1, 2, 0, 1, 2, 3]&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;41-whats-the-output&#34;&gt;41. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;!!&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;!!&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;!!&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;false&lt;/code&gt; &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;true&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-9&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;null&lt;/code&gt; is falsy. &lt;code&gt;!null&lt;/code&gt; returns &lt;code&gt;true&lt;/code&gt;. &lt;code&gt;!true&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt; is falsy. &lt;code&gt;!&amp;quot;&amp;quot;&lt;/code&gt; returns &lt;code&gt;true&lt;/code&gt;. &lt;code&gt;!true&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;1&lt;/code&gt; is truthy. &lt;code&gt;!1&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt;. &lt;code&gt;!false&lt;/code&gt; returns &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;42-what-does-the-setinterval-method-return-in-the-browser&#34;&gt;42. What does the &lt;code&gt;setInterval&lt;/code&gt; method return in the browser?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;setInterval&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Hi&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: a unique id&lt;/li&gt;
&lt;li&gt;B: the amount of milliseconds specified&lt;/li&gt;
&lt;li&gt;C: the passed function&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-14&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;It returns a unique id. This id can be used to clear that interval with the &lt;code&gt;clearInterval()&lt;/code&gt; function.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;43-what-does-this-return&#34;&gt;43. What does this return?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[...&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[&amp;quot;L&amp;quot;, &amp;quot;y&amp;quot;, &amp;quot;d&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;a&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[&amp;quot;Lydia&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[[], &amp;quot;Lydia&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;[[&amp;quot;L&amp;quot;, &amp;quot;y&amp;quot;, &amp;quot;d&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;a&amp;quot;]]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-15&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;A string is an iterable. The spread operator maps every character of an iterable to one element.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;44-whats-the-output&#34;&gt;44. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;generator&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;yield&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;yield&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;gen&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;generator&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;gen&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;next&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;gen&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;next&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[0, 10], [10, 20]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;20, 20&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;10, 20&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;0, 10 and 10, 20&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-13&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;Regular functions cannot be stopped mid-way after invocation. However, a generator function can be &amp;ldquo;stopped&amp;rdquo; midway, and later continue from where it stopped. Every time a generator function encounters a &lt;code&gt;yield&lt;/code&gt; keyword, the function yields the value specified after it. Note that the generator function in that case doesn’t &lt;em&gt;return&lt;/em&gt; the value, it &lt;em&gt;yields&lt;/em&gt; the value.&lt;/p&gt;
&lt;p&gt;First, we initialize the generator function with &lt;code&gt;i&lt;/code&gt; equal to &lt;code&gt;10&lt;/code&gt;. We invoke the generator function using the &lt;code&gt;next()&lt;/code&gt; method. The first time we invoke the generator function, &lt;code&gt;i&lt;/code&gt; is equal to &lt;code&gt;10&lt;/code&gt;. It encounters the first &lt;code&gt;yield&lt;/code&gt; keyword: it yields the value of &lt;code&gt;i&lt;/code&gt;. The generator is now &amp;ldquo;paused&amp;rdquo;, and &lt;code&gt;10&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;p&gt;Then, we invoke the function again with the &lt;code&gt;next()&lt;/code&gt; method. It starts to continue where it stopped previously, still with &lt;code&gt;i&lt;/code&gt; equal to &lt;code&gt;10&lt;/code&gt;. Now, it encounters the next &lt;code&gt;yield&lt;/code&gt; keyword, and yields &lt;code&gt;i * 2&lt;/code&gt;. &lt;code&gt;i&lt;/code&gt; is equal to &lt;code&gt;10&lt;/code&gt;, so it returns &lt;code&gt;10 * 2&lt;/code&gt;, which is &lt;code&gt;20&lt;/code&gt;. This results in &lt;code&gt;10, 20&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;45-what-does-this-return&#34;&gt;45. What does this return?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;firstPromise&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;rej&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;setTimeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;500&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;one&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;secondPromise&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;rej&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;setTimeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;two&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;race&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;firstPromise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;secondPromise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]).&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;then&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;one&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;two&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;two&amp;quot; &amp;quot;one&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;one&amp;quot; &amp;quot;two&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-10&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;When we pass multiple promises to the &lt;code&gt;Promise.race&lt;/code&gt; method, it resolves/rejects the &lt;em&gt;first&lt;/em&gt; promise that resolves/rejects. To the &lt;code&gt;setTimeout&lt;/code&gt; method, we pass a timer: 500ms for the first promise (&lt;code&gt;firstPromise&lt;/code&gt;), and 100ms for the second promise (&lt;code&gt;secondPromise&lt;/code&gt;). This means that the &lt;code&gt;secondPromise&lt;/code&gt; resolves first with the value of &lt;code&gt;&#39;two&#39;&lt;/code&gt;. &lt;code&gt;res&lt;/code&gt; now holds the value of &lt;code&gt;&#39;two&#39;&lt;/code&gt;, which gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;46-whats-the-output&#34;&gt;46. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;members&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;members&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;null&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[null]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[{}]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;[{ name: &amp;quot;Lydia&amp;quot; }]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-4&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;First, we declare a variable &lt;code&gt;person&lt;/code&gt; with the value of an object that has a &lt;code&gt;name&lt;/code&gt; property.&lt;/p&gt;
&lt;img src=&#34;https://i.imgur.com/TML1MbS.png&#34; width=&#34;200&#34;&gt;
&lt;p&gt;Then, we declare a variable called &lt;code&gt;members&lt;/code&gt;. We set the first element of that array equal to the value of the &lt;code&gt;person&lt;/code&gt; variable. Objects interact by &lt;em&gt;reference&lt;/em&gt; when setting them equal to each other. When you assign a reference from one variable to another, you make a &lt;em&gt;copy&lt;/em&gt; of that reference. (note that they don&amp;rsquo;t have the &lt;em&gt;same&lt;/em&gt; reference!)&lt;/p&gt;
&lt;img src=&#34;https://i.imgur.com/FSG5K3F.png&#34; width=&#34;300&#34;&gt;
&lt;p&gt;Then, we set the variable &lt;code&gt;person&lt;/code&gt; equal to &lt;code&gt;null&lt;/code&gt;.&lt;/p&gt;
&lt;img src=&#34;https://i.imgur.com/sYjcsMT.png&#34; width=&#34;300&#34;&gt;
&lt;p&gt;We are only modifying the value of the &lt;code&gt;person&lt;/code&gt; variable, and not the first element in the array, since that element has a different (copied) reference to the object. The first element in &lt;code&gt;members&lt;/code&gt; still holds its reference to the original object. When we log the &lt;code&gt;members&lt;/code&gt; array, the first element still holds the value of the object, which gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;47-whats-the-output&#34;&gt;47. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot; }, { age: 21 }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;name&amp;quot;, &amp;quot;age&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;Lydia&amp;quot;, 21&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;[&amp;quot;name&amp;quot;, &amp;quot;Lydia&amp;quot;], [&amp;quot;age&amp;quot;, 21]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-11&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;With a &lt;code&gt;for-in&lt;/code&gt; loop, we can iterate through object keys, in this case &lt;code&gt;name&lt;/code&gt; and &lt;code&gt;age&lt;/code&gt;. Under the hood, object keys are strings (if they&amp;rsquo;re not a Symbol). On every loop, we set the value of &lt;code&gt;item&lt;/code&gt; equal to the current key it’s iterating over. First, &lt;code&gt;item&lt;/code&gt; is equal to &lt;code&gt;name&lt;/code&gt;, and gets logged. Then, &lt;code&gt;item&lt;/code&gt; is equal to &lt;code&gt;age&lt;/code&gt;, which gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;48-whats-the-output&#34;&gt;48. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;5&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;345&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;75&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;12&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;12&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-12&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;Operator associativity is the order in which the compiler evaluates the expressions, either left-to-right or right-to-left. This only happens if all operators have the &lt;em&gt;same&lt;/em&gt; precedence. We only have one type of operator: &lt;code&gt;+&lt;/code&gt;. For addition, the associativity is left-to-right.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;3 + 4&lt;/code&gt; gets evaluated first. This results in the number &lt;code&gt;7&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;7 + &#39;5&#39;&lt;/code&gt; results in &lt;code&gt;&amp;quot;75&amp;quot;&lt;/code&gt; because of coercion. JavaScript converts the number &lt;code&gt;7&lt;/code&gt; into a string, see question 15. We can concatenate two strings using the &lt;code&gt;+&lt;/code&gt;operator. &lt;code&gt;&amp;quot;7&amp;quot; + &amp;quot;5&amp;quot;&lt;/code&gt; results in &lt;code&gt;&amp;quot;75&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;49-whats-the-value-of-num&#34;&gt;49. What&amp;rsquo;s the value of &lt;code&gt;num&lt;/code&gt;?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;parseInt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;7*6&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;42&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;42&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;7&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;NaN&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-14&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;Only the first number in the string is returned. Based on the &lt;em&gt;radix&lt;/em&gt; (the second argument in order to specify what type of number we want to parse it to: base 10, hexadecimal, octal, binary, etc.), the &lt;code&gt;parseInt&lt;/code&gt; checks whether the characters in the string are valid. Once it encounters a character that isn&amp;rsquo;t a valid number in the radix, it stops parsing and ignores the following characters.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;*&lt;/code&gt; is not a valid number. It only parses &lt;code&gt;&amp;quot;7&amp;quot;&lt;/code&gt; into the decimal &lt;code&gt;7&lt;/code&gt;. &lt;code&gt;num&lt;/code&gt; now holds the value of &lt;code&gt;7&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;50-whats-the-output&#34;&gt;50. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;].&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;map&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;number&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[null, null, null]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[undefined, undefined, undefined]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;[ 3 x empty ]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-15&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;When mapping over the array, the value of &lt;code&gt;num&lt;/code&gt; is equal to the element it’s currently looping over. In this case, the elements are numbers, so the condition of the if statement &lt;code&gt;typeof num === &amp;quot;number&amp;quot;&lt;/code&gt; returns &lt;code&gt;true&lt;/code&gt;. The map function creates a new array and inserts the values returned from the function.&lt;/p&gt;
&lt;p&gt;However, we don’t return a value. When we don’t return a value from the function, the function returns &lt;code&gt;undefined&lt;/code&gt;. For every element in the array, the function block gets called, so for each element we return &lt;code&gt;undefined&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;51-whats-the-output&#34;&gt;51. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;member&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;year&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;member&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;year&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;1998&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Sarah&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;birthYear&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;1997&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;getInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;birthYear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;birthYear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot; }, &amp;quot;1997&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{ name: &amp;quot;Sarah&amp;quot; }, &amp;quot;1998&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot; }, &amp;quot;1998&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;{ name: &amp;quot;Sarah&amp;quot; }, &amp;quot;1997&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-16&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;Arguments are passed by &lt;em&gt;value&lt;/em&gt;, unless their value is an object, then they&amp;rsquo;re passed by &lt;em&gt;reference&lt;/em&gt;. &lt;code&gt;birthYear&lt;/code&gt; is passed by value, since it&amp;rsquo;s a string, not an object. When we pass arguments by value, a &lt;em&gt;copy&lt;/em&gt; of that value is created (see question 46).&lt;/p&gt;
&lt;p&gt;The variable &lt;code&gt;birthYear&lt;/code&gt; has a reference to the value &lt;code&gt;&amp;quot;1997&amp;quot;&lt;/code&gt;. The argument &lt;code&gt;year&lt;/code&gt; also has a reference to the value &lt;code&gt;&amp;quot;1997&amp;quot;&lt;/code&gt;, but it&amp;rsquo;s not the same value as &lt;code&gt;birthYear&lt;/code&gt; has a reference to. When we update the value of &lt;code&gt;year&lt;/code&gt; by setting &lt;code&gt;year&lt;/code&gt; equal to &lt;code&gt;&amp;quot;1998&amp;quot;&lt;/code&gt;, we are only updating the value of &lt;code&gt;year&lt;/code&gt;. &lt;code&gt;birthYear&lt;/code&gt; is still equal to &lt;code&gt;&amp;quot;1997&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The value of &lt;code&gt;person&lt;/code&gt; is an object. The argument &lt;code&gt;member&lt;/code&gt; has a (copied) reference to the &lt;em&gt;same&lt;/em&gt; object. When we modify a property of the object &lt;code&gt;member&lt;/code&gt; has a reference to, the value of &lt;code&gt;person&lt;/code&gt; will also be modified, since they both have a reference to the same object. &lt;code&gt;person&lt;/code&gt;&amp;rsquo;s &lt;code&gt;name&lt;/code&gt; property is now equal to the value &lt;code&gt;&amp;quot;Lydia&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;52-whats-the-output&#34;&gt;52. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;greeting&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;throw&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Hello world!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sayHi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;try&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;greeting&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;It worked!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;catch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Oh no an error:&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;sayHi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;It worked! Hello world!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Oh no an error: undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;SyntaxError: can only throw Error objects&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Oh no an error: Hello world!&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-5&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;throw&lt;/code&gt; statement, we can create custom errors. With this statement, you can throw exceptions. An exception can be a &lt;b&gt;string&lt;/b&gt;, a &lt;b&gt;number&lt;/b&gt;, a &lt;b&gt;boolean&lt;/b&gt; or an &lt;b&gt;object&lt;/b&gt;. In this case, our exception is the string &lt;code&gt;&#39;Hello world!&#39;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;With the &lt;code&gt;catch&lt;/code&gt; statement, we can specify what to do if an exception is thrown in the &lt;code&gt;try&lt;/code&gt; block. An exception is thrown: the string &lt;code&gt;&#39;Hello world!&#39;&lt;/code&gt;. &lt;code&gt;e&lt;/code&gt; is now equal to that string, which we log. This results in &lt;code&gt;&#39;Oh an error: Hello world!&#39;&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;53-whats-the-output&#34;&gt;53. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Car&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;make&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lamborghini&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;make&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Maserati&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myCar&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Car&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;myCar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;make&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;Lamborghini&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;Maserati&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-13&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;When a constructor function is called with the &lt;code&gt;new&lt;/code&gt; keyword, it creates an object and sets the &lt;code&gt;this&lt;/code&gt; keyword to refer to that object. By default, if the constructor function doesn&amp;rsquo;t explicitly return anything, it will return the newly created object.&lt;/p&gt;
&lt;p&gt;In this case, the constructor function &lt;code&gt;Car&lt;/code&gt; explicitly returns a new object with &lt;code&gt;make&lt;/code&gt; set to &lt;code&gt;&amp;quot;Maserati&amp;quot;&lt;/code&gt;, which overrides the default behavior. Therefore, when &lt;code&gt;new Car()&lt;/code&gt; is called, the &lt;em&gt;returned&lt;/em&gt; object is assigned to &lt;code&gt;myCar&lt;/code&gt;, resulting in the output being &lt;code&gt;&amp;quot;Maserati&amp;quot;&lt;/code&gt; when &lt;code&gt;myCar.make&lt;/code&gt; is accessed.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;54-whats-the-output&#34;&gt;54. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;undefined&amp;quot;, &amp;quot;number&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;number&amp;quot;, &amp;quot;number&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;object&amp;quot;, &amp;quot;number&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;number&amp;quot;, &amp;quot;undefined&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-17&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;let x = (y = 10);&lt;/code&gt; is actually shorthand for:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;When we set &lt;code&gt;y&lt;/code&gt; equal to &lt;code&gt;10&lt;/code&gt;, we actually add a property &lt;code&gt;y&lt;/code&gt; to the global object (&lt;code&gt;window&lt;/code&gt; in the browser, &lt;code&gt;global&lt;/code&gt; in Node). In a browser, &lt;code&gt;window.y&lt;/code&gt; is now equal to &lt;code&gt;10&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Then, we declare a variable &lt;code&gt;x&lt;/code&gt; with the value of &lt;code&gt;y&lt;/code&gt;, which is &lt;code&gt;10&lt;/code&gt;. Variables declared with the &lt;code&gt;let&lt;/code&gt; keyword are &lt;em&gt;block scoped&lt;/em&gt;, they are only defined within the block they&amp;rsquo;re declared in; the immediately invoked function expression (IIFE) in this case. When we use the &lt;code&gt;typeof&lt;/code&gt; operator, the operand &lt;code&gt;x&lt;/code&gt; is not defined: we are trying to access &lt;code&gt;x&lt;/code&gt; outside of the block it&amp;rsquo;s declared in. This means that &lt;code&gt;x&lt;/code&gt; is not defined. Values who haven&amp;rsquo;t been assigned a value or declared are of type &lt;code&gt;&amp;quot;undefined&amp;quot;&lt;/code&gt;. &lt;code&gt;console.log(typeof x)&lt;/code&gt; returns &lt;code&gt;&amp;quot;undefined&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;However, we created a global variable &lt;code&gt;y&lt;/code&gt; when setting &lt;code&gt;y&lt;/code&gt; equal to &lt;code&gt;10&lt;/code&gt;. This value is accessible anywhere in our code. &lt;code&gt;y&lt;/code&gt; is defined, and holds a value of type &lt;code&gt;&amp;quot;number&amp;quot;&lt;/code&gt;. &lt;code&gt;console.log(typeof y)&lt;/code&gt; returns &lt;code&gt;&amp;quot;number&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;55-whats-the-output&#34;&gt;55. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Dog&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;Dog&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prototype&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;bark&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`Woof I am &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;pet&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Dog&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Mara&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;pet&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;bark&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;delete&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Dog&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prototype&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;bark&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;pet&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;bark&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;Woof I am Mara&amp;quot;&lt;/code&gt;, &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;Woof I am Mara&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;Woof I am Mara&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;Woof I am Mara&amp;quot;&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;TypeError&lt;/code&gt;, &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-18&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;We can delete properties from objects using the &lt;code&gt;delete&lt;/code&gt; keyword, also on the prototype. By deleting a property on the prototype, it is not available anymore in the prototype chain. In this case, the &lt;code&gt;bark&lt;/code&gt; function is not available anymore on the prototype after &lt;code&gt;delete Dog.prototype.bark&lt;/code&gt;, yet we still try to access it.&lt;/p&gt;
&lt;p&gt;When we try to invoke something that is not a function, a &lt;code&gt;TypeError&lt;/code&gt; is thrown. In this case &lt;code&gt;TypeError: pet.bark is not a function&lt;/code&gt;, since &lt;code&gt;pet.bark&lt;/code&gt; is &lt;code&gt;undefined&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;56-whats-the-output&#34;&gt;56. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[1, 1, 2, 3, 4]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[1, 2, 3, 4]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{1, 1, 2, 3, 4}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;{1, 2, 3, 4}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-6&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;Set&lt;/code&gt; object is a collection of &lt;em&gt;unique&lt;/em&gt; values: a value can only occur once in a set.&lt;/p&gt;
&lt;p&gt;We passed the iterable &lt;code&gt;[1, 1, 2, 3, 4]&lt;/code&gt; with a duplicate value &lt;code&gt;1&lt;/code&gt;. Since we cannot have two of the same values in a set, one of them is removed. This results in &lt;code&gt;{1, 2, 3, 4}&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;57-whats-the-output&#34;&gt;57. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// counter.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;counter&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;default&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;counter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// index.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myCounter&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;./counter&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;myCounter&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;myCounter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;10&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;11&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Error&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;NaN&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-16&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;An imported module is &lt;em&gt;read-only&lt;/em&gt;: you cannot modify the imported module. Only the module that exports them can change its value.&lt;/p&gt;
&lt;p&gt;When we try to increment the value of &lt;code&gt;myCounter&lt;/code&gt;, it throws an error: &lt;code&gt;myCounter&lt;/code&gt; is read-only and cannot be modified.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;58-whats-the-output&#34;&gt;58. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;delete&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;delete&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;false&lt;/code&gt;, &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;Lydia&amp;quot;&lt;/code&gt;, &lt;code&gt;21&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-19&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;delete&lt;/code&gt; operator returns a boolean value: &lt;code&gt;true&lt;/code&gt; on a successful deletion, else it&amp;rsquo;ll return &lt;code&gt;false&lt;/code&gt;. However, variables declared with the &lt;code&gt;var&lt;/code&gt;, &lt;code&gt;const&lt;/code&gt;, or &lt;code&gt;let&lt;/code&gt; keywords cannot be deleted using the &lt;code&gt;delete&lt;/code&gt; operator.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;name&lt;/code&gt; variable was declared with a &lt;code&gt;const&lt;/code&gt; keyword, so its deletion is not successful: &lt;code&gt;false&lt;/code&gt; is returned. When we set &lt;code&gt;age&lt;/code&gt; equal to &lt;code&gt;21&lt;/code&gt;, we actually added a property called &lt;code&gt;age&lt;/code&gt; to the global object. You can successfully delete properties from objects this way, also the global object, so &lt;code&gt;delete age&lt;/code&gt; returns &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;59-whats-the-output&#34;&gt;59. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;numbers&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[[1, 2, 3, 4, 5]]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[1, 2, 3, 4, 5]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;[1]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-17&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;We can unpack values from arrays or properties from objects through destructuring. For example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src=&#34;https://i.imgur.com/ADFpVop.png&#34; width=&#34;200&#34;&gt;
&lt;p&gt;The value of &lt;code&gt;a&lt;/code&gt; is now &lt;code&gt;1&lt;/code&gt;, and the value of &lt;code&gt;b&lt;/code&gt; is now &lt;code&gt;2&lt;/code&gt;. What we actually did in the question, is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src=&#34;https://i.imgur.com/NzGkMNk.png&#34; width=&#34;200&#34;&gt;
&lt;p&gt;This means that the value of &lt;code&gt;y&lt;/code&gt; is equal to the first value in the array, which is the number &lt;code&gt;1&lt;/code&gt;. When we log &lt;code&gt;y&lt;/code&gt;, &lt;code&gt;1&lt;/code&gt; is returned.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;60-whats-the-output&#34;&gt;60. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;admin&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;admin&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;admin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{ admin: true, user: { name: &amp;quot;Lydia&amp;quot;, age: 21 } }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{ admin: true, name: &amp;quot;Lydia&amp;quot;, age: 21 }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{ admin: true, user: [&amp;quot;Lydia&amp;quot;, 21] }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;{ admin: true }&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-14&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;It&amp;rsquo;s possible to combine objects using the spread operator &lt;code&gt;...&lt;/code&gt;. It lets you create copies of the key/value pairs of one object, and add them to another object. In this case, we create copies of the &lt;code&gt;user&lt;/code&gt; object, and add them to the &lt;code&gt;admin&lt;/code&gt; object. The &lt;code&gt;admin&lt;/code&gt; object now contains the copied key/value pairs, which results in &lt;code&gt;{ admin: true, name: &amp;quot;Lydia&amp;quot;, age: 21 }&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;61-whats-the-output&#34;&gt;61. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Object&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;defineProperty&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;age&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;Object&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;keys&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;, age: 21 }&lt;/code&gt;, &lt;code&gt;[&amp;quot;name&amp;quot;, &amp;quot;age&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;, age: 21 }&lt;/code&gt;, &lt;code&gt;[&amp;quot;name&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;}&lt;/code&gt;, &lt;code&gt;[&amp;quot;name&amp;quot;, &amp;quot;age&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;}&lt;/code&gt;, &lt;code&gt;[&amp;quot;age&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-15&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;defineProperty&lt;/code&gt; method, we can add new properties to an object, or modify existing ones. When we add a property to an object using the &lt;code&gt;defineProperty&lt;/code&gt; method, they are by default &lt;em&gt;not enumerable&lt;/em&gt;. The &lt;code&gt;Object.keys&lt;/code&gt; method returns all &lt;em&gt;enumerable&lt;/em&gt; property names from an object, in this case only &lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Properties added using the &lt;code&gt;defineProperty&lt;/code&gt; method are immutable by default. You can override this behavior using the &lt;code&gt;writable&lt;/code&gt;, &lt;code&gt;configurable&lt;/code&gt; and &lt;code&gt;enumerable&lt;/code&gt; properties. This way, the &lt;code&gt;defineProperty&lt;/code&gt; method gives you a lot more control over the properties you&amp;rsquo;re adding to an object.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;62-whats-the-output&#34;&gt;62. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;settings&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;username&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;lydiahallie&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;level&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;19&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;health&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;90&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;JSON&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;stringify&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;settings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;level&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;health&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;{&amp;quot;level&amp;quot;:19, &amp;quot;health&amp;quot;:90}&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;{&amp;quot;username&amp;quot;: &amp;quot;lydiahallie&amp;quot;}&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;[&amp;quot;level&amp;quot;, &amp;quot;health&amp;quot;]&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;{&amp;quot;username&amp;quot;: &amp;quot;lydiahallie&amp;quot;, &amp;quot;level&amp;quot;:19, &amp;quot;health&amp;quot;:90}&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-20&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;The second argument of &lt;code&gt;JSON.stringify&lt;/code&gt; is the &lt;em&gt;replacer&lt;/em&gt;. The replacer can either be a function or an array, and lets you control what and how the values should be stringified.&lt;/p&gt;
&lt;p&gt;If the replacer is an &lt;em&gt;array&lt;/em&gt;, only the property names included in the array will be added to the JSON string. In this case, only the properties with the names &lt;code&gt;&amp;quot;level&amp;quot;&lt;/code&gt; and &lt;code&gt;&amp;quot;health&amp;quot;&lt;/code&gt; are included, &lt;code&gt;&amp;quot;username&amp;quot;&lt;/code&gt; is excluded. &lt;code&gt;data&lt;/code&gt; is now equal to &lt;code&gt;&amp;quot;{&amp;quot;level&amp;quot;:19, &amp;quot;health&amp;quot;:90}&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If the replacer is a &lt;em&gt;function&lt;/em&gt;, this function gets called on every property in the object you&amp;rsquo;re stringifying. The value returned from this function will be the value of the property when it&amp;rsquo;s added to the JSON string. If the value is &lt;code&gt;undefined&lt;/code&gt;, this property is excluded from the JSON string.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;63-whats-the-output&#34;&gt;63. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;increaseNumber&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;increasePassedNumber&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;number&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;increaseNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;increasePassedNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;10&lt;/code&gt;, &lt;code&gt;10&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;10&lt;/code&gt;, &lt;code&gt;11&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;11&lt;/code&gt;, &lt;code&gt;11&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;11&lt;/code&gt;, &lt;code&gt;12&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-21&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;The unary operator &lt;code&gt;++&lt;/code&gt; &lt;em&gt;first returns&lt;/em&gt; the value of the operand, &lt;em&gt;then increments&lt;/em&gt; the value of the operand. The value of &lt;code&gt;num1&lt;/code&gt; is &lt;code&gt;10&lt;/code&gt;, since the &lt;code&gt;increaseNumber&lt;/code&gt; function first returns the value of &lt;code&gt;num&lt;/code&gt;, which is &lt;code&gt;10&lt;/code&gt;, and only increments the value of &lt;code&gt;num&lt;/code&gt; afterward.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;num2&lt;/code&gt; is &lt;code&gt;10&lt;/code&gt;, since we passed &lt;code&gt;num1&lt;/code&gt; to the &lt;code&gt;increasePassedNumber&lt;/code&gt;. &lt;code&gt;number&lt;/code&gt; is equal to &lt;code&gt;10&lt;/code&gt;(the value of &lt;code&gt;num1&lt;/code&gt;). Again, the unary operator &lt;code&gt;++&lt;/code&gt; &lt;em&gt;first returns&lt;/em&gt; the value of the operand, &lt;em&gt;then increments&lt;/em&gt; the value of the operand. The value of &lt;code&gt;number&lt;/code&gt; is &lt;code&gt;10&lt;/code&gt;, so &lt;code&gt;num2&lt;/code&gt; is equal to &lt;code&gt;10&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;64-whats-the-output&#34;&gt;64. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;multiply&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;number&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;multiply&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;multiply&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;multiply&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;multiply&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;20&lt;/code&gt;, &lt;code&gt;40&lt;/code&gt;, &lt;code&gt;80&lt;/code&gt;, &lt;code&gt;160&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;20&lt;/code&gt;, &lt;code&gt;40&lt;/code&gt;, &lt;code&gt;20&lt;/code&gt;, &lt;code&gt;40&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;20&lt;/code&gt;, &lt;code&gt;20&lt;/code&gt;, &lt;code&gt;20&lt;/code&gt;, &lt;code&gt;40&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;NaN&lt;/code&gt;, &lt;code&gt;NaN&lt;/code&gt;, &lt;code&gt;20&lt;/code&gt;, &lt;code&gt;40&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-18&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;In ES6, we can initialize parameters with a default value. The value of the parameter will be the default value, if no other value has been passed to the function, or if the value of the parameter is &lt;code&gt;&amp;quot;undefined&amp;quot;&lt;/code&gt;. In this case, we spread the properties of the &lt;code&gt;value&lt;/code&gt; object into a new object, so &lt;code&gt;x&lt;/code&gt; has the default value of &lt;code&gt;{ number: 10 }&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The default argument is evaluated at &lt;em&gt;call time&lt;/em&gt;! Every time we call the function, a &lt;em&gt;new&lt;/em&gt; object is created. We invoke the &lt;code&gt;multiply&lt;/code&gt; function the first two times without passing a value: &lt;code&gt;x&lt;/code&gt; has the default value of &lt;code&gt;{ number: 10 }&lt;/code&gt;. We then log the multiplied value of that number, which is &lt;code&gt;20&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The third time we invoke multiply, we do pass an argument: the object called &lt;code&gt;value&lt;/code&gt;. The &lt;code&gt;*=&lt;/code&gt; operator is actually shorthand for &lt;code&gt;x.number = x.number * 2&lt;/code&gt;: we modify the value of &lt;code&gt;x.number&lt;/code&gt;, and log the multiplied value &lt;code&gt;20&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The fourth time, we pass the &lt;code&gt;value&lt;/code&gt; object again. &lt;code&gt;x.number&lt;/code&gt; was previously modified to &lt;code&gt;20&lt;/code&gt;, so &lt;code&gt;x.number *= 2&lt;/code&gt; logs &lt;code&gt;40&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;65-whats-the-output&#34;&gt;65. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;].&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;reduce&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; and &lt;code&gt;3&lt;/code&gt; &lt;code&gt;3&lt;/code&gt; and &lt;code&gt;6&lt;/code&gt; &lt;code&gt;4&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; and &lt;code&gt;2&lt;/code&gt; &lt;code&gt;3&lt;/code&gt; and &lt;code&gt;3&lt;/code&gt; &lt;code&gt;4&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; and &lt;code&gt;2&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; and &lt;code&gt;3&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; and &lt;code&gt;4&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; and &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;3&lt;/code&gt; and &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;4&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-7&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;The first argument that the &lt;code&gt;reduce&lt;/code&gt; method receives is the &lt;em&gt;accumulator&lt;/em&gt;, &lt;code&gt;x&lt;/code&gt; in this case. The second argument is the &lt;em&gt;current value&lt;/em&gt;, &lt;code&gt;y&lt;/code&gt;. With the reduce method, we execute a callback function on every element in the array, which could ultimately result in one single value.&lt;/p&gt;
&lt;p&gt;In this example, we are not returning any values, we are simply logging the values of the accumulator and the current value.&lt;/p&gt;
&lt;p&gt;The value of the accumulator is equal to the previously returned value of the callback function. If you don&amp;rsquo;t pass the optional &lt;code&gt;initialValue&lt;/code&gt; argument to the &lt;code&gt;reduce&lt;/code&gt; method, the accumulator is equal to the first element on the first call.&lt;/p&gt;
&lt;p&gt;On the first call, the accumulator (&lt;code&gt;x&lt;/code&gt;) is &lt;code&gt;1&lt;/code&gt;, and the current value (&lt;code&gt;y&lt;/code&gt;) is &lt;code&gt;2&lt;/code&gt;. We don&amp;rsquo;t return from the callback function, we log the accumulator, and the current values: &lt;code&gt;1&lt;/code&gt; and &lt;code&gt;2&lt;/code&gt; get logged.&lt;/p&gt;
&lt;p&gt;If you don&amp;rsquo;t return a value from a function, it returns &lt;code&gt;undefined&lt;/code&gt;. On the next call, the accumulator is &lt;code&gt;undefined&lt;/code&gt;, and the current value is &lt;code&gt;3&lt;/code&gt;. &lt;code&gt;undefined&lt;/code&gt; and &lt;code&gt;3&lt;/code&gt; get logged.&lt;/p&gt;
&lt;p&gt;On the fourth call, we again don&amp;rsquo;t return from the callback function. The accumulator is again &lt;code&gt;undefined&lt;/code&gt;, and the current value is &lt;code&gt;4&lt;/code&gt;. &lt;code&gt;undefined&lt;/code&gt; and &lt;code&gt;4&lt;/code&gt; get logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;66-with-which-constructor-can-we-successfully-extend-the-dog-class&#34;&gt;66. With which constructor can we successfully extend the &lt;code&gt;Dog&lt;/code&gt; class?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Dog&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Labrador&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Dog&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// 1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// 2
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;super&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// 3
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;super&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// 4
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: 1&lt;/li&gt;
&lt;li&gt;B: 2&lt;/li&gt;
&lt;li&gt;C: 3&lt;/li&gt;
&lt;li&gt;D: 4&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-16&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;In a derived class, you cannot access the &lt;code&gt;this&lt;/code&gt; keyword before calling &lt;code&gt;super&lt;/code&gt;. If you try to do that, it will throw a ReferenceError: 1 and 4 would throw a reference error.&lt;/p&gt;
&lt;p&gt;With the &lt;code&gt;super&lt;/code&gt; keyword, we call that parent class&amp;rsquo;s constructor with the given arguments. The parent&amp;rsquo;s constructor receives the &lt;code&gt;name&lt;/code&gt; argument, so we need to pass &lt;code&gt;name&lt;/code&gt; to &lt;code&gt;super&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;Labrador&lt;/code&gt; class receives two arguments, &lt;code&gt;name&lt;/code&gt; since it extends &lt;code&gt;Dog&lt;/code&gt;, and &lt;code&gt;size&lt;/code&gt; as an extra property on the &lt;code&gt;Labrador&lt;/code&gt; class. They both need to be passed to the constructor function on &lt;code&gt;Labrador&lt;/code&gt;, which is done correctly using constructor 2.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;67-whats-the-output&#34;&gt;67. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// index.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;running index.js&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;./sum.js&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// sum.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;running sum.js&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;running index.js&lt;/code&gt;, &lt;code&gt;running sum.js&lt;/code&gt;, &lt;code&gt;3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;running sum.js&lt;/code&gt;, &lt;code&gt;running index.js&lt;/code&gt;, &lt;code&gt;3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;running sum.js&lt;/code&gt;, &lt;code&gt;3&lt;/code&gt;, &lt;code&gt;running index.js&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;running index.js&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt;, &lt;code&gt;running sum.js&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-17&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;import&lt;/code&gt; keyword, all imported modules are &lt;em&gt;pre-parsed&lt;/em&gt;. This means that the imported modules get run &lt;em&gt;first&lt;/em&gt;, and the code in the file that imports the module gets executed &lt;em&gt;after&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;This is a difference between &lt;code&gt;require()&lt;/code&gt; in CommonJS and &lt;code&gt;import&lt;/code&gt;! With &lt;code&gt;require()&lt;/code&gt;, you can load dependencies on demand while the code is being run. If we had used &lt;code&gt;require&lt;/code&gt; instead of &lt;code&gt;import&lt;/code&gt;, &lt;code&gt;running index.js&lt;/code&gt;, &lt;code&gt;running sum.js&lt;/code&gt;, &lt;code&gt;3&lt;/code&gt; would have been logged to the console.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;68-whats-the-output&#34;&gt;68. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;Number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;Boolean&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Boolean&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Symbol&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;foo&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Symbol&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;foo&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;false&lt;/code&gt;, &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;false&lt;/code&gt;, &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-22&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;Every Symbol is entirely unique. The purpose of the argument passed to the Symbol is to give the Symbol a description. The value of the Symbol is not dependent on the passed argument. As we test equality, we are creating two entirely new symbols: the first &lt;code&gt;Symbol(&#39;foo&#39;)&lt;/code&gt;, and the second &lt;code&gt;Symbol(&#39;foo&#39;)&lt;/code&gt;. These two values are unique and not equal to each other, &lt;code&gt;Symbol(&#39;foo&#39;) === Symbol(&#39;foo&#39;)&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;69-whats-the-output&#34;&gt;69. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia Hallie&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;padStart&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;13&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;padStart&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;Lydia Hallie&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;Lydia Hallie&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot; Lydia Hallie&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot; Lydia Hallie&amp;quot;&lt;/code&gt; (&lt;code&gt;&amp;quot;[13x whitespace]Lydia Hallie&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;[2x whitespace]Lydia Hallie&amp;quot;&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot; Lydia Hallie&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;Lydia Hallie&amp;quot;&lt;/code&gt; (&lt;code&gt;&amp;quot;[1x whitespace]Lydia Hallie&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;Lydia Hallie&amp;quot;&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;Lydia Hallie&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;Lyd&amp;quot;&lt;/code&gt;,&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-19&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;padStart&lt;/code&gt; method, we can add padding to the beginning of a string. The value passed to this method is the &lt;em&gt;total&lt;/em&gt; length of the string together with the padding. The string &lt;code&gt;&amp;quot;Lydia Hallie&amp;quot;&lt;/code&gt; has a length of &lt;code&gt;12&lt;/code&gt;. &lt;code&gt;name.padStart(13)&lt;/code&gt; inserts 1 space at the start of the string, because 12 + 1 is 13.&lt;/p&gt;
&lt;p&gt;If the argument passed to the &lt;code&gt;padStart&lt;/code&gt; method is smaller than the length of the array, no padding will be added.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;70-whats-the-output&#34;&gt;70. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🥑&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;💻&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;🥑💻&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;257548&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: A string containing their code points&lt;/li&gt;
&lt;li&gt;D: Error&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-23&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;+&lt;/code&gt; operator, you can concatenate strings. In this case, we are concatenating the string &lt;code&gt;&amp;quot;🥑&amp;quot;&lt;/code&gt; with the string &lt;code&gt;&amp;quot;💻&amp;quot;&lt;/code&gt;, resulting in &lt;code&gt;&amp;quot;🥑💻&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;71-how-can-we-log-the-values-that-are-commented-out-after-the-consolelog-statement&#34;&gt;71. How can we log the values that are commented out after the console.log statement?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;startGame&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;answer&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;yield&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Do you love JavaScript?&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;answer&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;!==&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Yes&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Oh wow... Guess we&amp;#39;re done here&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;JavaScript loves you back ❤️&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;game&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;startGame&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;cm&#34;&gt;/* 1 */&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// Do you love JavaScript?
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;cm&#34;&gt;/* 2 */&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// JavaScript loves you back ❤️
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;game.next(&amp;quot;Yes&amp;quot;).value&lt;/code&gt; and &lt;code&gt;game.next().value&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;game.next.value(&amp;quot;Yes&amp;quot;)&lt;/code&gt; and &lt;code&gt;game.next.value()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;game.next().value&lt;/code&gt; and &lt;code&gt;game.next(&amp;quot;Yes&amp;quot;).value&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;game.next.value()&lt;/code&gt; and &lt;code&gt;game.next.value(&amp;quot;Yes&amp;quot;)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-20&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;A generator function &amp;ldquo;pauses&amp;rdquo; its execution when it sees the &lt;code&gt;yield&lt;/code&gt; keyword. First, we have to let the function yield the string &amp;ldquo;Do you love JavaScript?&amp;rdquo;, which can be done by calling &lt;code&gt;game.next().value&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Every line is executed, until it finds the first &lt;code&gt;yield&lt;/code&gt; keyword. There is a &lt;code&gt;yield&lt;/code&gt; keyword on the first line within the function: the execution stops with the first yield! &lt;em&gt;This means that the variable &lt;code&gt;answer&lt;/code&gt; is not defined yet!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When we call &lt;code&gt;game.next(&amp;quot;Yes&amp;quot;).value&lt;/code&gt;, the previous &lt;code&gt;yield&lt;/code&gt; is replaced with the value of the parameters passed to the &lt;code&gt;next()&lt;/code&gt; function, &lt;code&gt;&amp;quot;Yes&amp;quot;&lt;/code&gt; in this case. The value of the variable &lt;code&gt;answer&lt;/code&gt; is now equal to &lt;code&gt;&amp;quot;Yes&amp;quot;&lt;/code&gt;. The condition of the if-statement returns &lt;code&gt;false&lt;/code&gt;, and &lt;code&gt;JavaScript loves you back ❤️&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;72-whats-the-output&#34;&gt;72. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;String&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;raw&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`Hello\nworld`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;Hello world!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Hello&lt;/code&gt; &lt;br /&gt;     &lt;code&gt;world&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Hello\nworld&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Hello\n&lt;/code&gt; &lt;br /&gt;      &lt;code&gt;world&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-21&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;String.raw&lt;/code&gt; returns a string where the escapes (&lt;code&gt;\n&lt;/code&gt;, &lt;code&gt;\v&lt;/code&gt;, &lt;code&gt;\t&lt;/code&gt; etc.) are ignored! Backslashes can be an issue since you could end up with something like:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;const path = `C:\Documents\Projects\table.html`&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Which would result in:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;quot;C:DocumentsProjects able.html&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;With &lt;code&gt;String.raw&lt;/code&gt;, it would simply ignore the escape and print:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;C:\Documents\Projects\table.html&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In this case, the string is &lt;code&gt;Hello\nworld&lt;/code&gt;, which gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;73-whats-the-output&#34;&gt;73. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getData&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resolve&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;I made it!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getData&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;I made it!&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Promise {&amp;lt;resolved&amp;gt;: &amp;quot;I made it!&amp;quot;}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Promise {&amp;lt;pending&amp;gt;}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-22&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;An async function always returns a promise. The &lt;code&gt;await&lt;/code&gt; still has to wait for the promise to resolve: a pending promise gets returned when we call &lt;code&gt;getData()&lt;/code&gt; in order to set &lt;code&gt;data&lt;/code&gt; equal to it.&lt;/p&gt;
&lt;p&gt;If we wanted to get access to the resolved value &lt;code&gt;&amp;quot;I made it&amp;quot;&lt;/code&gt;, we could have used the &lt;code&gt;.then()&lt;/code&gt; method on &lt;code&gt;data&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;data.then(res =&amp;gt; console.log(res))&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This would&amp;rsquo;ve logged &lt;code&gt;&amp;quot;I made it!&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;74-whats-the-output&#34;&gt;74. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;addToList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;list&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;list&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;push&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;addToList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;apple&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;banana&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[&#39;apple&#39;, &#39;banana&#39;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-18&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;.push()&lt;/code&gt; method returns the &lt;em&gt;length&lt;/em&gt; of the new array! Previously, the array contained one element (the string &lt;code&gt;&amp;quot;banana&amp;quot;&lt;/code&gt;) and had a length of &lt;code&gt;1&lt;/code&gt;. After adding the string &lt;code&gt;&amp;quot;apple&amp;quot;&lt;/code&gt; to the array, the array contains two elements, and has a length of &lt;code&gt;2&lt;/code&gt;. This gets returned from the &lt;code&gt;addToList&lt;/code&gt; function.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;push&lt;/code&gt; method modifies the original array. If you wanted to return the &lt;em&gt;array&lt;/em&gt; from the function rather than the &lt;em&gt;length of the array&lt;/em&gt;, you should have returned &lt;code&gt;list&lt;/code&gt; after pushing &lt;code&gt;item&lt;/code&gt; to it.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;75-whats-the-output&#34;&gt;75. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;box&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;20&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Object&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;freeze&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;box&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;shape&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;box&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;shape&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;shape&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{ x: 100, y: 20 }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{ x: 10, y: 20 }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{ x: 100 }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-19&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;Object.freeze&lt;/code&gt; makes it impossible to add, remove, or modify properties of an object (unless the property&amp;rsquo;s value is another object).&lt;/p&gt;
&lt;p&gt;When we create the variable &lt;code&gt;shape&lt;/code&gt; and set it equal to the frozen object &lt;code&gt;box&lt;/code&gt;, &lt;code&gt;shape&lt;/code&gt; also refers to a frozen object. You can check whether an object is frozen by using &lt;code&gt;Object.isFrozen&lt;/code&gt;. In this case, &lt;code&gt;Object.isFrozen(shape)&lt;/code&gt; would return true, since the variable &lt;code&gt;shape&lt;/code&gt; has a reference to a frozen object.&lt;/p&gt;
&lt;p&gt;Since &lt;code&gt;shape&lt;/code&gt; is frozen, and since the value of &lt;code&gt;x&lt;/code&gt; is not an object, we cannot modify the property &lt;code&gt;x&lt;/code&gt;. &lt;code&gt;x&lt;/code&gt; is still equal to &lt;code&gt;10&lt;/code&gt;, and &lt;code&gt;{ x: 10, y: 20 }&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;76-whats-the-output&#34;&gt;76. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myName&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;Lydia&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;myName&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-8&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;By using &lt;a class=&#34;link&#34; href=&#34;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;destructuring assignment&lt;/a&gt; syntax we can unpack values from arrays, or properties from objects, into distinct variables:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// ES5 version:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// var firstName = { firstName: &amp;#39;Lydia&amp;#39; }.firstName;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// &amp;#34;Lydia&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Also, a property can be unpacked from an object and assigned to a variable with a different name than the object property:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myName&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// ES5 version:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// var myName = { firstName: &amp;#39;Lydia&amp;#39; }.firstName;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;myName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// &amp;#34;Lydia&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// Uncaught ReferenceError: firstName is not defined
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Therefore, &lt;code&gt;firstName&lt;/code&gt; does not exist as a variable, thus attempting to access its value will raise a &lt;code&gt;ReferenceError&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Be aware of the &lt;code&gt;global scope&lt;/code&gt; properties:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myName&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;myName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// &amp;#34;lydia&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// &amp;#34;&amp;#34; ----- Browser e.g. Chrome
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// ReferenceError: name is not defined  ----- NodeJS
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Whenever Javascript is unable to find a variable within the &lt;em&gt;current scope&lt;/em&gt;, it climbs up the &lt;a class=&#34;link&#34; href=&#34;https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/scope-closures/ch3.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scope chain&lt;/a&gt; and searches for it and if it reaches the top-level scope, aka &lt;strong&gt;Global scope&lt;/strong&gt;, and still doesn&amp;rsquo;t find it, it will throw a &lt;code&gt;ReferenceError&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;In &lt;strong&gt;Browsers&lt;/strong&gt; such as &lt;em&gt;Chrome&lt;/em&gt;, &lt;code&gt;name&lt;/code&gt; is a &lt;em&gt;deprecated global scope property&lt;/em&gt;. In this example, the code is running inside &lt;em&gt;global scope&lt;/em&gt; and there is no user-defined local variable for &lt;code&gt;name&lt;/code&gt;, therefore it searches the predefined &lt;em&gt;variables/properties&lt;/em&gt; in the global scope which is in the case of browsers, it searches through &lt;code&gt;window&lt;/code&gt; object and it will extract the &lt;a class=&#34;link&#34; href=&#34;https://developer.mozilla.org/en-US/docs/Web/API/Window/name&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;window.name&lt;/a&gt; value which is equal to an &lt;strong&gt;empty string&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In &lt;strong&gt;NodeJS&lt;/strong&gt;, there is no such property on the &lt;code&gt;global&lt;/code&gt; object, thus attempting to access a non-existent variable will raise a &lt;a class=&#34;link&#34; href=&#34;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Not_defined&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ReferenceError&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;77-is-this-a-pure-function&#34;&gt;77. Is this a pure function?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: Yes&lt;/li&gt;
&lt;li&gt;B: No&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-24&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;A pure function is a function that &lt;em&gt;always&lt;/em&gt; returns the same result, if the same arguments are passed.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;sum&lt;/code&gt; function always returns the same result. If we pass &lt;code&gt;1&lt;/code&gt; and &lt;code&gt;2&lt;/code&gt;, it will &lt;em&gt;always&lt;/em&gt; return &lt;code&gt;3&lt;/code&gt; without side effects. If we pass &lt;code&gt;5&lt;/code&gt; and &lt;code&gt;10&lt;/code&gt;, it will &lt;em&gt;always&lt;/em&gt; return &lt;code&gt;15&lt;/code&gt;, and so on. This is the definition of a pure function.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;78-what-is-the-output&#34;&gt;78. What is the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;cache&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;cache&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`From cache! &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;cache&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nx&#34;&gt;cache&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`Calculated! &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;addFunction&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;addFunction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;addFunction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;addFunction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;Calculated! 20&lt;/code&gt; &lt;code&gt;Calculated! 20&lt;/code&gt; &lt;code&gt;Calculated! 20&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Calculated! 20&lt;/code&gt; &lt;code&gt;From cache! 20&lt;/code&gt; &lt;code&gt;Calculated! 20&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Calculated! 20&lt;/code&gt; &lt;code&gt;From cache! 20&lt;/code&gt; &lt;code&gt;From cache! 20&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Calculated! 20&lt;/code&gt; &lt;code&gt;From cache! 20&lt;/code&gt; &lt;code&gt;Error&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-23&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;add&lt;/code&gt; function is a &lt;em&gt;memoized&lt;/em&gt; function. With memoization, we can cache the results of a function in order to speed up its execution. In this case, we create a &lt;code&gt;cache&lt;/code&gt; object that stores the previously returned values.&lt;/p&gt;
&lt;p&gt;If we call the &lt;code&gt;addFunction&lt;/code&gt; function again with the same argument, it first checks whether it has already gotten that value in its cache. If that&amp;rsquo;s the case, the cache value will be returned, which saves execution time. Otherwise, if it&amp;rsquo;s not cached, it will calculate the value and store it afterward.&lt;/p&gt;
&lt;p&gt;We call the &lt;code&gt;addFunction&lt;/code&gt; function three times with the same value: on the first invocation, the value of the function when &lt;code&gt;num&lt;/code&gt; is equal to &lt;code&gt;10&lt;/code&gt; isn&amp;rsquo;t cached yet. The condition of the if-statement &lt;code&gt;num in cache&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt;, and the else block gets executed: &lt;code&gt;Calculated! 20&lt;/code&gt; gets logged, and the value of the result gets added to the cache object. &lt;code&gt;cache&lt;/code&gt; now looks like &lt;code&gt;{ 10: 20 }&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The second time, the &lt;code&gt;cache&lt;/code&gt; object contains the value that gets returned for &lt;code&gt;10&lt;/code&gt;. The condition of the if-statement &lt;code&gt;num in cache&lt;/code&gt; returns &lt;code&gt;true&lt;/code&gt;, and &lt;code&gt;&#39;From cache! 20&#39;&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;p&gt;The third time, we pass &lt;code&gt;5 * 2&lt;/code&gt; to the function which gets evaluated to &lt;code&gt;10&lt;/code&gt;. The &lt;code&gt;cache&lt;/code&gt; object contains the value that gets returned for &lt;code&gt;10&lt;/code&gt;. The condition of the if-statement &lt;code&gt;num in cache&lt;/code&gt; returns &lt;code&gt;true&lt;/code&gt;, and &lt;code&gt;&#39;From cache! 20&#39;&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;79-what-is-the-output&#34;&gt;79. What is the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myLifeSummedUp&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;☕&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;💻&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🍷&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🍫&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myLifeSummedUp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myLifeSummedUp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;0&lt;/code&gt; &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; &lt;code&gt;3&lt;/code&gt; and &lt;code&gt;&amp;quot;☕&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;💻&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;🍷&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;🍫&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;☕&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;💻&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;🍷&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;🍫&amp;quot;&lt;/code&gt; and &lt;code&gt;&amp;quot;☕&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;💻&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;🍷&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;🍫&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;☕&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;💻&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;🍷&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;🍫&amp;quot;&lt;/code&gt; and &lt;code&gt;0&lt;/code&gt; &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; &lt;code&gt;3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;0&lt;/code&gt; &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; &lt;code&gt;3&lt;/code&gt; and &lt;code&gt;{0: &amp;quot;☕&amp;quot;, 1: &amp;quot;💻&amp;quot;, 2: &amp;quot;🍷&amp;quot;, 3: &amp;quot;🍫&amp;quot;}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-25&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;With a &lt;em&gt;for-in&lt;/em&gt; loop, we can iterate over &lt;strong&gt;enumerable&lt;/strong&gt; properties. In an array, the enumerable properties are the &amp;ldquo;keys&amp;rdquo; of array elements, which are actually their indexes. You could see an array as:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;{0: &amp;quot;☕&amp;quot;, 1: &amp;quot;💻&amp;quot;, 2: &amp;quot;🍷&amp;quot;, 3: &amp;quot;🍫&amp;quot;}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Where the keys are the enumerable properties. &lt;code&gt;0&lt;/code&gt; &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; &lt;code&gt;3&lt;/code&gt; get logged.&lt;/p&gt;
&lt;p&gt;With a &lt;em&gt;for-of&lt;/em&gt; loop, we can iterate over &lt;strong&gt;iterables&lt;/strong&gt;. An array is an iterable. When we iterate over the array, the variable &amp;ldquo;item&amp;rdquo; is equal to the element it&amp;rsquo;s currently iterating over, &lt;code&gt;&amp;quot;☕&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;💻&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;🍷&amp;quot;&lt;/code&gt; &lt;code&gt;&amp;quot;🍫&amp;quot;&lt;/code&gt; get logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;80-what-is-the-output&#34;&gt;80. What is the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;list&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;list&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[&amp;quot;1 + 2&amp;quot;, &amp;quot;1 * 2&amp;quot;, &amp;quot;1 / 2&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[&amp;quot;12&amp;quot;, 2, 0.5]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[3, 2, 0.5]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;[1, 1, 1]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-24&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;Array elements can hold any value. Numbers, strings, objects, other arrays, null, boolean values, undefined, and other expressions such as dates, functions, and calculations.&lt;/p&gt;
&lt;p&gt;The element will be equal to the returned value. &lt;code&gt;1 + 2&lt;/code&gt; returns &lt;code&gt;3&lt;/code&gt;, &lt;code&gt;1 * 2&lt;/code&gt; returns &lt;code&gt;2&lt;/code&gt;, and &lt;code&gt;1 / 2&lt;/code&gt; returns &lt;code&gt;0.5&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;81-what-is-the-output&#34;&gt;81. What is the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sayHi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`Hi there, &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sayHi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;Hi there,&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Hi there, undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Hi there, null&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-20&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;By default, arguments have the value of &lt;code&gt;undefined&lt;/code&gt;, unless a value has been passed to the function. In this case, we didn&amp;rsquo;t pass a value for the &lt;code&gt;name&lt;/code&gt; argument. &lt;code&gt;name&lt;/code&gt; is equal to &lt;code&gt;undefined&lt;/code&gt; which gets logged.&lt;/p&gt;
&lt;p&gt;In ES6, we can overwrite this default &lt;code&gt;undefined&lt;/code&gt; value with default parameters. For example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;function sayHi(name = &amp;quot;Lydia&amp;quot;) { ... }&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In this case, if we didn&amp;rsquo;t pass a value or if we passed &lt;code&gt;undefined&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt; would always be equal to the string &lt;code&gt;Lydia&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;82-what-is-the-output&#34;&gt;82. What is the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;status&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;😎&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;setTimeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;status&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;😍&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;status&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🥑&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;getStatus&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;status&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getStatus&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getStatus&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;call&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;🥑&amp;quot;&lt;/code&gt; and &lt;code&gt;&amp;quot;😍&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;🥑&amp;quot;&lt;/code&gt; and &lt;code&gt;&amp;quot;😎&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;😍&amp;quot;&lt;/code&gt; and &lt;code&gt;&amp;quot;😎&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;😎&amp;quot;&lt;/code&gt; and &lt;code&gt;&amp;quot;😎&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-21&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;The value of the &lt;code&gt;this&lt;/code&gt; keyword is dependent on where you use it. In a &lt;strong&gt;method&lt;/strong&gt;, like the &lt;code&gt;getStatus&lt;/code&gt; method, the &lt;code&gt;this&lt;/code&gt; keyword refers to &lt;em&gt;the object that the method belongs to&lt;/em&gt;. The method belongs to the &lt;code&gt;data&lt;/code&gt; object, so &lt;code&gt;this&lt;/code&gt; refers to the &lt;code&gt;data&lt;/code&gt; object. When we log &lt;code&gt;this.status&lt;/code&gt;, the &lt;code&gt;status&lt;/code&gt; property on the &lt;code&gt;data&lt;/code&gt; object gets logged, which is &lt;code&gt;&amp;quot;🥑&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;With the &lt;code&gt;call&lt;/code&gt; method, we can change the object to which the &lt;code&gt;this&lt;/code&gt; keyword refers. In &lt;strong&gt;functions&lt;/strong&gt;, the &lt;code&gt;this&lt;/code&gt; keyword refers to the &lt;em&gt;the object that the function belongs to&lt;/em&gt;. We declared the &lt;code&gt;setTimeout&lt;/code&gt; function on the &lt;em&gt;global object&lt;/em&gt;, so within the &lt;code&gt;setTimeout&lt;/code&gt; function, the &lt;code&gt;this&lt;/code&gt; keyword refers to the &lt;em&gt;global object&lt;/em&gt;. On the global object, there is a variable called &lt;em&gt;status&lt;/em&gt; with the value of &lt;code&gt;&amp;quot;😎&amp;quot;&lt;/code&gt;. When logging &lt;code&gt;this.status&lt;/code&gt;, &lt;code&gt;&amp;quot;😎&amp;quot;&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;83-what-is-the-output&#34;&gt;83. What is the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;city&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;city&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;city&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Amsterdam&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;, age: 21 }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;, age: 21, city: &amp;quot;Amsterdam&amp;quot; }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;, age: 21, city: undefined }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;Amsterdam&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-26&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;We set the variable &lt;code&gt;city&lt;/code&gt; equal to the value of the property called &lt;code&gt;city&lt;/code&gt; on the &lt;code&gt;person&lt;/code&gt; object. There is no property on this object called &lt;code&gt;city&lt;/code&gt;, so the variable &lt;code&gt;city&lt;/code&gt; has the value of &lt;code&gt;undefined&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Note that we are &lt;em&gt;not&lt;/em&gt; referencing the &lt;code&gt;person&lt;/code&gt; object itself! We simply set the variable &lt;code&gt;city&lt;/code&gt; equal to the current value of the &lt;code&gt;city&lt;/code&gt; property on the &lt;code&gt;person&lt;/code&gt; object.&lt;/p&gt;
&lt;p&gt;Then, we set &lt;code&gt;city&lt;/code&gt; equal to the string &lt;code&gt;&amp;quot;Amsterdam&amp;quot;&lt;/code&gt;. This doesn&amp;rsquo;t change the person object: there is no reference to that object.&lt;/p&gt;
&lt;p&gt;When logging the &lt;code&gt;person&lt;/code&gt; object, the unmodified object gets returned.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;84-what-is-the-output&#34;&gt;84. What is the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;checkAge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;18&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;message&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Sorry, you&amp;#39;re too young.&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;message&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Yay! You&amp;#39;re old enough!&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;message&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;checkAge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;Sorry, you&#39;re too young.&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;Yay! You&#39;re old enough!&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-25&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;Variables with the &lt;code&gt;const&lt;/code&gt; and &lt;code&gt;let&lt;/code&gt; keywords are &lt;em&gt;block-scoped&lt;/em&gt;. A block is anything between curly brackets (&lt;code&gt;{ }&lt;/code&gt;). In this case, the curly brackets of the if/else statements. You cannot reference a variable outside of the block it&amp;rsquo;s declared in, a ReferenceError gets thrown.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;85-what-kind-of-information-would-get-logged&#34;&gt;85. What kind of information would get logged?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;fetch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;https://www.website.com/api/user/1&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;then&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;json&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;then&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: The result of the &lt;code&gt;fetch&lt;/code&gt; method.&lt;/li&gt;
&lt;li&gt;B: The result of the second invocation of the &lt;code&gt;fetch&lt;/code&gt; method.&lt;/li&gt;
&lt;li&gt;C: The result of the callback in the previous &lt;code&gt;.then()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;D: It would always be undefined.&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-26&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The value of &lt;code&gt;res&lt;/code&gt; in the second &lt;code&gt;.then&lt;/code&gt; is equal to the returned value of the previous &lt;code&gt;.then&lt;/code&gt;. You can keep chaining &lt;code&gt;.then&lt;/code&gt;s like this, where the value is passed to the next handler.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;86-which-option-is-a-way-to-set-hasname-equal-to-true-provided-you-cannot-pass-true-as-an-argument&#34;&gt;86. Which option is a way to set &lt;code&gt;hasName&lt;/code&gt; equal to &lt;code&gt;true&lt;/code&gt;, provided you cannot pass &lt;code&gt;true&lt;/code&gt; as an argument?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;hasName&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;//
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;!!name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;new Boolean(name)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;name.length&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-27&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;With &lt;code&gt;!!name&lt;/code&gt;, we determine whether the value of &lt;code&gt;name&lt;/code&gt; is truthy or falsy. If the name is truthy, which we want to test for, &lt;code&gt;!name&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt;. &lt;code&gt;!false&lt;/code&gt; (which is what &lt;code&gt;!!name&lt;/code&gt; practically is) returns &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;By setting &lt;code&gt;hasName&lt;/code&gt; equal to &lt;code&gt;name&lt;/code&gt;, you set &lt;code&gt;hasName&lt;/code&gt; equal to whatever value you passed to the &lt;code&gt;getName&lt;/code&gt; function, not the boolean value &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;new Boolean(true)&lt;/code&gt; returns an object wrapper, not the boolean value itself.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;name.length&lt;/code&gt; returns the length of the passed argument, not whether it&amp;rsquo;s &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;87-whats-the-output&#34;&gt;87. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;I want pizza&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;I&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-22&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;In order to get a character at a specific index of a string, you can use bracket notation. The first character in the string has index 0, and so on. In this case, we want to get the element with index 0, the character &lt;code&gt;&amp;quot;I&#39;&lt;/code&gt;, which gets logged.&lt;/p&gt;
&lt;p&gt;Note that this method is not supported in IE7 and below. In that case, use &lt;code&gt;.charAt()&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;88-whats-the-output&#34;&gt;88. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;NaN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;20&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-23&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;You can set a default parameter&amp;rsquo;s value equal to another parameter of the function, as long as they&amp;rsquo;ve been defined &lt;em&gt;before&lt;/em&gt; the default parameter. We pass the value &lt;code&gt;10&lt;/code&gt; to the &lt;code&gt;sum&lt;/code&gt; function. If the &lt;code&gt;sum&lt;/code&gt; function only receives 1 argument, it means that the value for &lt;code&gt;num2&lt;/code&gt; is not passed, and the value of &lt;code&gt;num1&lt;/code&gt; is equal to the passed value &lt;code&gt;10&lt;/code&gt; in this case. The default value of &lt;code&gt;num2&lt;/code&gt; is the value of &lt;code&gt;num1&lt;/code&gt;, which is &lt;code&gt;10&lt;/code&gt;. &lt;code&gt;num1 + num2&lt;/code&gt; returns &lt;code&gt;20&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re trying to set a default parameter&amp;rsquo;s value equal to a parameter that is defined &lt;em&gt;after&lt;/em&gt; (to the right), the parameter&amp;rsquo;s value hasn&amp;rsquo;t been initialized yet, which will throw an error.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;89-whats-the-output&#34;&gt;89. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// module.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;default&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Hello world&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// index.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;./module&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{ default: function default(), name: &amp;quot;Lydia&amp;quot; }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{ default: function default() }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{ default: &amp;quot;Hello world&amp;quot;, name: &amp;quot;Lydia&amp;quot; }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: Global object of &lt;code&gt;module.js&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-28&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;import * as name&lt;/code&gt; syntax, we import &lt;em&gt;all exports&lt;/em&gt; from the &lt;code&gt;module.js&lt;/code&gt; file into the &lt;code&gt;index.js&lt;/code&gt; file as a new object called &lt;code&gt;data&lt;/code&gt; is created. In the &lt;code&gt;module.js&lt;/code&gt; file, there are two exports: the default export, and a named export. The default export is a function that returns the string &lt;code&gt;&amp;quot;Hello World&amp;quot;&lt;/code&gt;, and the named export is a variable called &lt;code&gt;name&lt;/code&gt; which has the value of the string &lt;code&gt;&amp;quot;Lydia&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;data&lt;/code&gt; object has a &lt;code&gt;default&lt;/code&gt; property for the default export, other properties have the names of the named exports and their corresponding values.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;90-whats-the-output&#34;&gt;90. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;member&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;John&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;member&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;class&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;function&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;&amp;quot;object&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;string&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-27&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;Classes are syntactical sugar for function constructors. The equivalent of the &lt;code&gt;Person&lt;/code&gt; class as a function constructor would be:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Calling a function constructor with &lt;code&gt;new&lt;/code&gt; results in the creation of an instance of &lt;code&gt;Person&lt;/code&gt;, &lt;code&gt;typeof&lt;/code&gt; keyword returns &lt;code&gt;&amp;quot;object&amp;quot;&lt;/code&gt; for an instance. &lt;code&gt;typeof member&lt;/code&gt; returns &lt;code&gt;&amp;quot;object&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;91-whats-the-output&#34;&gt;91. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;newList&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;].&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;push&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;newList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;push&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[1, 2, 3, 4, 5]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[1, 2, 3, 5]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[1, 2, 3, 4]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Error&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-9&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;.push&lt;/code&gt; method returns the &lt;em&gt;new length&lt;/em&gt; of the array, not the array itself! By setting &lt;code&gt;newList&lt;/code&gt; equal to &lt;code&gt;[1, 2, 3].push(4)&lt;/code&gt;, we set &lt;code&gt;newList&lt;/code&gt; equal to the new length of the array: &lt;code&gt;4&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Then, we try to use the &lt;code&gt;.push&lt;/code&gt; method on &lt;code&gt;newList&lt;/code&gt;. Since &lt;code&gt;newList&lt;/code&gt; is the numerical value &lt;code&gt;4&lt;/code&gt;, we cannot use the &lt;code&gt;.push&lt;/code&gt; method: a TypeError is thrown.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;92-whats-the-output&#34;&gt;92. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;giveLydiaPizza&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Here is pizza!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;giveLydiaChocolate&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s2&#34;&gt;&amp;#34;Here&amp;#39;s chocolate... now go hit the gym already.&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;giveLydiaPizza&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prototype&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;giveLydiaChocolate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;prototype&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{ constructor: ...}&lt;/code&gt; &lt;code&gt;{ constructor: ...}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{}&lt;/code&gt; &lt;code&gt;{ constructor: ...}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{ constructor: ...}&lt;/code&gt; &lt;code&gt;{}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;{ constructor: ...}&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-10&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;Regular functions, such as the &lt;code&gt;giveLydiaPizza&lt;/code&gt; function, have a &lt;code&gt;prototype&lt;/code&gt; property, which is an object (prototype object) with a &lt;code&gt;constructor&lt;/code&gt; property. Arrow functions however, such as the &lt;code&gt;giveLydiaChocolate&lt;/code&gt; function, do not have this &lt;code&gt;prototype&lt;/code&gt; property. &lt;code&gt;undefined&lt;/code&gt; gets returned when trying to access the &lt;code&gt;prototype&lt;/code&gt; property using &lt;code&gt;giveLydiaChocolate.prototype&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;93-whats-the-output&#34;&gt;93. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Object&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;entries&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;name&lt;/code&gt; &lt;code&gt;Lydia&lt;/code&gt; and &lt;code&gt;age&lt;/code&gt; &lt;code&gt;21&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[&amp;quot;name&amp;quot;, &amp;quot;Lydia&amp;quot;]&lt;/code&gt; and &lt;code&gt;[&amp;quot;age&amp;quot;, 21]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[&amp;quot;name&amp;quot;, &amp;quot;age&amp;quot;]&lt;/code&gt; and &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Error&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-29&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;Object.entries(person)&lt;/code&gt; returns an array of nested arrays, containing the keys and objects:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[ [ &#39;name&#39;, &#39;Lydia&#39; ], [ &#39;age&#39;, 21 ] ]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Using the &lt;code&gt;for-of&lt;/code&gt; loop, we can iterate over each element in the array, the subarrays in this case. We can destructure the subarrays instantly in the for-of loop, using &lt;code&gt;const [x, y]&lt;/code&gt;. &lt;code&gt;x&lt;/code&gt; is equal to the first element in the subarray, &lt;code&gt;y&lt;/code&gt; is equal to the second element in the subarray.&lt;/p&gt;
&lt;p&gt;The first subarray is &lt;code&gt;[ &amp;quot;name&amp;quot;, &amp;quot;Lydia&amp;quot; ]&lt;/code&gt;, with &lt;code&gt;x&lt;/code&gt; equal to &lt;code&gt;&amp;quot;name&amp;quot;&lt;/code&gt;, and &lt;code&gt;y&lt;/code&gt; equal to &lt;code&gt;&amp;quot;Lydia&amp;quot;&lt;/code&gt;, which get logged.
The second subarray is &lt;code&gt;[ &amp;quot;age&amp;quot;, 21 ]&lt;/code&gt;, with &lt;code&gt;x&lt;/code&gt; equal to &lt;code&gt;&amp;quot;age&amp;quot;&lt;/code&gt;, and &lt;code&gt;y&lt;/code&gt; equal to &lt;code&gt;21&lt;/code&gt;, which get logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;94-whats-the-output&#34;&gt;94. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getItems&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fruitList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;favoriteFruit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fruitList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;favoriteFruit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;getItems&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;banana&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;apple&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;pear&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;orange&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[&amp;quot;banana&amp;quot;, &amp;quot;apple&amp;quot;, &amp;quot;pear&amp;quot;, &amp;quot;orange&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[[&amp;quot;banana&amp;quot;, &amp;quot;apple&amp;quot;], &amp;quot;pear&amp;quot;, &amp;quot;orange&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[&amp;quot;banana&amp;quot;, &amp;quot;apple&amp;quot;, [&amp;quot;pear&amp;quot;], &amp;quot;orange&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-11&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;...args&lt;/code&gt; is a rest parameter. The rest parameter&amp;rsquo;s value is an array containing all remaining arguments, &lt;strong&gt;and can only be the last parameter&lt;/strong&gt;! In this example, the rest parameter was the second parameter. This is not possible, and will throw a syntax error.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getItems&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fruitList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;favoriteFruit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fruitList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;favoriteFruit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;getItems&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;banana&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;apple&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;pear&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;orange&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The above example works. This returns the array &lt;code&gt;[ &#39;banana&#39;, &#39;apple&#39;, &#39;orange&#39;, &#39;pear&#39; ]&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;95-whats-the-output&#34;&gt;95. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;nums&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a is bigger&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b is bigger&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;nums&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;nums&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;a is bigger&lt;/code&gt;, &lt;code&gt;6&lt;/code&gt; and &lt;code&gt;b is bigger&lt;/code&gt;, &lt;code&gt;3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;a is bigger&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt; and &lt;code&gt;b is bigger&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt; and &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-24&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;In JavaScript, we don&amp;rsquo;t &lt;em&gt;have&lt;/em&gt; to write the semicolon (&lt;code&gt;;&lt;/code&gt;) explicitly, however the JavaScript engine still adds them after statements. This is called &lt;strong&gt;Automatic Semicolon Insertion&lt;/strong&gt;. A statement can for example be variables, or keywords like &lt;code&gt;throw&lt;/code&gt;, &lt;code&gt;return&lt;/code&gt;, &lt;code&gt;break&lt;/code&gt;, etc.&lt;/p&gt;
&lt;p&gt;Here, we wrote a &lt;code&gt;return&lt;/code&gt; statement, and another value &lt;code&gt;a + b&lt;/code&gt; on a &lt;em&gt;new line&lt;/em&gt;. However, since it&amp;rsquo;s a new line, the engine doesn&amp;rsquo;t know that it&amp;rsquo;s actually the value that we wanted to return. Instead, it automatically added a semicolon after &lt;code&gt;return&lt;/code&gt;. You could see this as:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This means that &lt;code&gt;a + b&lt;/code&gt; is never reached, since a function stops running after the &lt;code&gt;return&lt;/code&gt; keyword. If no value gets returned, like here, the function returns &lt;code&gt;undefined&lt;/code&gt;. Note that there is no automatic insertion after &lt;code&gt;if/else&lt;/code&gt; statements!&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;96-whats-the-output&#34;&gt;96. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;AnotherPerson&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Sarah&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;member&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;member&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;Lydia&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;Sarah&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Error: cannot redeclare Person&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-25&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;We can set classes equal to other classes/function constructors. In this case, we set &lt;code&gt;Person&lt;/code&gt; equal to &lt;code&gt;AnotherPerson&lt;/code&gt;. The name on this constructor is &lt;code&gt;Sarah&lt;/code&gt;, so the name property on the new &lt;code&gt;Person&lt;/code&gt; instance &lt;code&gt;member&lt;/code&gt; is &lt;code&gt;&amp;quot;Sarah&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;97-whats-the-output&#34;&gt;97. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;info&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Symbol&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;info&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;Object&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;keys&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;info&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{Symbol(&#39;a&#39;): &#39;b&#39;}&lt;/code&gt; and &lt;code&gt;[&amp;quot;{Symbol(&#39;a&#39;)&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{}&lt;/code&gt; and &lt;code&gt;[]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{ a: &amp;quot;b&amp;quot; }&lt;/code&gt; and &lt;code&gt;[&amp;quot;a&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;{Symbol(&#39;a&#39;): &#39;b&#39;}&lt;/code&gt; and &lt;code&gt;[]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-12&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;A Symbol is not &lt;em&gt;enumerable&lt;/em&gt;. The Object.keys method returns all &lt;em&gt;enumerable&lt;/em&gt; key properties on an object. The Symbol won&amp;rsquo;t be visible, and an empty array is returned. When logging the entire object, all properties will be visible, even non-enumerable ones.&lt;/p&gt;
&lt;p&gt;This is one of the many qualities of a symbol: besides representing an entirely unique value (which prevents accidental name collision on objects, for example when working with 2 libraries that want to add properties to the same object), you can also &amp;ldquo;hide&amp;rdquo; properties on objects this way (although not entirely. You can still access symbols using the &lt;code&gt;Object.getOwnPropertySymbols()&lt;/code&gt; method).&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;98-whats-the-output&#34;&gt;98. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getList&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getUser&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;list&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Lydia&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;list&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getUser&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[1, [2, 3, 4]]&lt;/code&gt; and &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[1, [2, 3, 4]]&lt;/code&gt; and &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;, age: 21 }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[1, 2, 3, 4]&lt;/code&gt; and &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;, age: 21 }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Error&lt;/code&gt; and &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;, age: 21 }&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-30&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;getList&lt;/code&gt; function receives an array as its argument. Between the parentheses of the &lt;code&gt;getList&lt;/code&gt; function, we destructure this array right away. You could see this as:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[x, ...y] = [1, 2, 3, 4]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;With the rest parameter &lt;code&gt;...y&lt;/code&gt;, we put all &amp;ldquo;remaining&amp;rdquo; arguments in an array. The remaining arguments are &lt;code&gt;2&lt;/code&gt;, &lt;code&gt;3&lt;/code&gt; and &lt;code&gt;4&lt;/code&gt; in this case. The value of &lt;code&gt;y&lt;/code&gt; is an array, containing all the rest parameters. The value of &lt;code&gt;x&lt;/code&gt; is equal to &lt;code&gt;1&lt;/code&gt; in this case, so when we log &lt;code&gt;[x, y]&lt;/code&gt;, &lt;code&gt;[1, [2, 3, 4]]&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;getUser&lt;/code&gt; function receives an object. With arrow functions, we don&amp;rsquo;t &lt;em&gt;have&lt;/em&gt; to write curly brackets if we just return one value. However, if you want to instantly return an &lt;em&gt;object&lt;/em&gt; from an arrow function, you have to write it between parentheses, otherwise everything between the two braces will be interpreted as a block statement. In this case the code between the braces is not a valid JavaScript code, so a &lt;code&gt;SyntaxError&lt;/code&gt; gets thrown.&lt;/p&gt;
&lt;p&gt;The following function would have returned an object:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;const getUser = user =&amp;gt; ({ name: user.name, age: user.age })&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;99-whats-the-output&#34;&gt;99. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-28&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The variable &lt;code&gt;name&lt;/code&gt; holds the value of a string, which is not a function, and thus cannot be invoked.&lt;/p&gt;
&lt;p&gt;TypeErrors get thrown when a value is not of the expected type. JavaScript expected &lt;code&gt;name&lt;/code&gt; to be a function since we&amp;rsquo;re trying to invoke it. It was a string however, so a TypeError gets thrown: name is not a function!&lt;/p&gt;
&lt;p&gt;SyntaxErrors get thrown when you&amp;rsquo;ve written something that isn&amp;rsquo;t valid JavaScript, for example when you&amp;rsquo;ve written the word &lt;code&gt;return&lt;/code&gt; as &lt;code&gt;retrun&lt;/code&gt;.
ReferenceErrors get thrown when JavaScript isn&amp;rsquo;t able to find a reference to a value that you&amp;rsquo;re trying to access.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;100-whats-the-value-of-output&#34;&gt;100. What&amp;rsquo;s the value of output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 🎉✨ This is my 100th question! ✨🎉
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;output&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Im&amp;#39;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;possible!
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sb&#34;&gt;You should&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`n&amp;#39;t`&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt; see a therapist after so much JavaScript lol`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;possible! You should see a therapist after so much JavaScript lol&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Impossible! You should see a therapist after so much JavaScript lol&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;possible! You shouldn&#39;t see a therapist after so much JavaScript lol&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Impossible! You shouldn&#39;t see a therapist after so much JavaScript lol&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-26&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;[]&lt;/code&gt; is a truthy value. With the &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; operator, the right-hand value will be returned if the left-hand value is a truthy value. In this case, the left-hand value &lt;code&gt;[]&lt;/code&gt; is a truthy value, so &lt;code&gt;&amp;quot;Im&#39;&lt;/code&gt; gets returned.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt; is a falsy value. If the left-hand value is falsy, nothing gets returned. &lt;code&gt;n&#39;t&lt;/code&gt; doesn&amp;rsquo;t get returned.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;101-whats-the-value-of-output&#34;&gt;101. What&amp;rsquo;s the value of output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;one&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{}&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;two&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;three&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;one&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;two&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;three&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;false&lt;/code&gt; &lt;code&gt;null&lt;/code&gt; &lt;code&gt;[]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;null&lt;/code&gt; &lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{}&lt;/code&gt; &lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt; &lt;code&gt;[]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;null&lt;/code&gt; &lt;code&gt;null&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-29&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;||&lt;/code&gt; operator, we can return the first truthy operand. If all values are falsy, the last operand gets returned.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;(false || {} || null)&lt;/code&gt;: the empty object &lt;code&gt;{}&lt;/code&gt; is a truthy value. This is the first (and only) truthy value, which gets returned. &lt;code&gt;one&lt;/code&gt; is equal to &lt;code&gt;{}&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;(null || false || &amp;quot;&amp;quot;)&lt;/code&gt;: all operands are falsy values. This means that the last operand, &lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt; gets returned. &lt;code&gt;two&lt;/code&gt; is equal to &lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;([] || 0 || &amp;quot;&amp;quot;)&lt;/code&gt;: the empty array&lt;code&gt;[]&lt;/code&gt; is a truthy value. This is the first truthy value, which gets returned. &lt;code&gt;three&lt;/code&gt; is equal to &lt;code&gt;[]&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;102-whats-the-value-of-output&#34;&gt;102. What&amp;rsquo;s the value of output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myPromise&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resolve&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;I have resolved!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;firstFunction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;myPromise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;then&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;second&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;secondFunction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myPromise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;second&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;firstFunction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;secondFunction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;I have resolved!&lt;/code&gt;, &lt;code&gt;second&lt;/code&gt; and &lt;code&gt;I have resolved!&lt;/code&gt;, &lt;code&gt;second&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;second&lt;/code&gt;, &lt;code&gt;I have resolved!&lt;/code&gt; and &lt;code&gt;second&lt;/code&gt;, &lt;code&gt;I have resolved!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;I have resolved!&lt;/code&gt;, &lt;code&gt;second&lt;/code&gt; and &lt;code&gt;second&lt;/code&gt;, &lt;code&gt;I have resolved!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;second&lt;/code&gt;, &lt;code&gt;I have resolved!&lt;/code&gt; and &lt;code&gt;I have resolved!&lt;/code&gt;, &lt;code&gt;second&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-13&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;With a promise, we basically say &lt;em&gt;I want to execute this function, but I&amp;rsquo;ll put it aside for now while it&amp;rsquo;s running since this might take a while. Only when a certain value is resolved (or rejected), and when the call stack is empty, I want to use this value.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We can get this value with both &lt;code&gt;.then&lt;/code&gt; and the &lt;code&gt;await&lt;/code&gt; keywords in an &lt;code&gt;async&lt;/code&gt; function. Although we can get a promise&amp;rsquo;s value with both &lt;code&gt;.then&lt;/code&gt; and &lt;code&gt;await&lt;/code&gt;, they work a bit differently.&lt;/p&gt;
&lt;p&gt;In the &lt;code&gt;firstFunction&lt;/code&gt;, we (sort of) put the myPromise function aside while it was running, but continued running the other code, which is &lt;code&gt;console.log(&#39;second&#39;)&lt;/code&gt; in this case. Then, the function resolved with the string &lt;code&gt;I have resolved&lt;/code&gt;, which then got logged after it saw that the callstack was empty.&lt;/p&gt;
&lt;p&gt;With the await keyword in &lt;code&gt;secondFunction&lt;/code&gt;, we literally pause the execution of an async function until the value has been resolved before moving to the next line.&lt;/p&gt;
&lt;p&gt;This means that it waited for the &lt;code&gt;myPromise&lt;/code&gt; to resolve with the value &lt;code&gt;I have resolved&lt;/code&gt;, and only once that happened, we moved to the next line: &lt;code&gt;second&lt;/code&gt; got logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;103-whats-the-value-of-output&#34;&gt;103. What&amp;rsquo;s the value of output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;3&lt;/code&gt;, &lt;code&gt;NaN&lt;/code&gt;, &lt;code&gt;NaN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;3&lt;/code&gt;, &lt;code&gt;7&lt;/code&gt;, &lt;code&gt;NaN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;3&lt;/code&gt;, &lt;code&gt;Lydia2&lt;/code&gt;, &lt;code&gt;[object Object]2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&amp;quot;12&amp;quot;&lt;/code&gt;, &lt;code&gt;Lydia2&lt;/code&gt;, &lt;code&gt;[object Object]2&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-30&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;+&lt;/code&gt; operator is not only used for adding numerical values, but we can also use it to concatenate strings. Whenever the JavaScript engine sees that one or more values are not a number, it coerces the number into a string.&lt;/p&gt;
&lt;p&gt;The first one is &lt;code&gt;1&lt;/code&gt;, which is a numerical value. &lt;code&gt;1 + 2&lt;/code&gt; returns the number 3.&lt;/p&gt;
&lt;p&gt;However, the second one is a string &lt;code&gt;&amp;quot;Lydia&amp;quot;&lt;/code&gt;. &lt;code&gt;&amp;quot;Lydia&amp;quot;&lt;/code&gt; is a string and &lt;code&gt;2&lt;/code&gt; is a number: &lt;code&gt;2&lt;/code&gt; gets coerced into a string. &lt;code&gt;&amp;quot;Lydia&amp;quot;&lt;/code&gt; and &lt;code&gt;&amp;quot;2&amp;quot;&lt;/code&gt; get concatenated, which results in the string &lt;code&gt;&amp;quot;Lydia2&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;{ name: &amp;quot;Lydia&amp;quot; }&lt;/code&gt; is an object. Neither a number nor an object is a string, so it stringifies both. Whenever we stringify a regular object, it becomes &lt;code&gt;&amp;quot;[object Object]&amp;quot;&lt;/code&gt;. &lt;code&gt;&amp;quot;[object Object]&amp;quot;&lt;/code&gt; concatenated with &lt;code&gt;&amp;quot;2&amp;quot;&lt;/code&gt; becomes &lt;code&gt;&amp;quot;[object Object]2&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;104-whats-its-value&#34;&gt;104. What&amp;rsquo;s its value?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resolve&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Promise {&amp;lt;pending&amp;gt;: 5}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Promise {&amp;lt;fulfilled&amp;gt;: 5}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Error&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-31&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;We can pass any type of value we want to &lt;code&gt;Promise.resolve&lt;/code&gt;, either a promise or a non-promise. The method itself returns a promise with the resolved value (&lt;code&gt;&amp;lt;fulfilled&amp;gt;&lt;/code&gt;). If you pass a regular function, it&amp;rsquo;ll be a resolved promise with a regular value. If you pass a promise, it&amp;rsquo;ll be a resolved promise with the resolved value of that passed promise.&lt;/p&gt;
&lt;p&gt;In this case, we just passed the numerical value &lt;code&gt;5&lt;/code&gt;. It returns a resolved promise with the value &lt;code&gt;5&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;105-whats-its-value&#34;&gt;105. What&amp;rsquo;s its value?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;compareMembers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;!==&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Not the same!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;They are the same!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;compareMembers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;Not the same!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;They are the same!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-27&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;Objects are passed by reference. When we check objects for strict equality (&lt;code&gt;===&lt;/code&gt;), we&amp;rsquo;re comparing their references.&lt;/p&gt;
&lt;p&gt;We set the default value for &lt;code&gt;person2&lt;/code&gt; equal to the &lt;code&gt;person&lt;/code&gt; object, and passed the &lt;code&gt;person&lt;/code&gt; object as the value for &lt;code&gt;person1&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This means that both values have a reference to the same spot in memory, thus they are equal.&lt;/p&gt;
&lt;p&gt;The code block in the &lt;code&gt;else&lt;/code&gt; statement gets run, and &lt;code&gt;They are the same!&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;106-whats-its-value&#34;&gt;106. What&amp;rsquo;s its value?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;colorConfig&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;red&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;blue&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;green&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;black&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;yellow&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;colors&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;pink&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;red&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;blue&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;colorConfig&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;colors&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-14&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;In JavaScript, we have two ways to access properties on an object: bracket notation, or dot notation. In this example, we use dot notation (&lt;code&gt;colorConfig.colors&lt;/code&gt;) instead of bracket notation (&lt;code&gt;colorConfig[&amp;quot;colors&amp;quot;]&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;With dot notation, JavaScript tries to find the property on the object with that exact name. In this example, JavaScript tries to find a property called &lt;code&gt;colors&lt;/code&gt; on the &lt;code&gt;colorConfig&lt;/code&gt; object. There is no property called &lt;code&gt;colors&lt;/code&gt;, so this returns &lt;code&gt;undefined&lt;/code&gt;. Then, we try to access the value of the first element by using &lt;code&gt;[1]&lt;/code&gt;. We cannot do this on a value that&amp;rsquo;s &lt;code&gt;undefined&lt;/code&gt;, so it throws a &lt;code&gt;TypeError&lt;/code&gt;: &lt;code&gt;Cannot read property &#39;1&#39; of undefined&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;JavaScript interprets (or unboxes) statements. When we use bracket notation, it sees the first opening bracket &lt;code&gt;[&lt;/code&gt; and keeps going until it finds the closing bracket &lt;code&gt;]&lt;/code&gt;. Only then, it will evaluate the statement. If we would&amp;rsquo;ve used &lt;code&gt;colorConfig[colors[1]]&lt;/code&gt;, it would have returned the value of the &lt;code&gt;red&lt;/code&gt; property on the &lt;code&gt;colorConfig&lt;/code&gt; object.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;107-whats-its-value&#34;&gt;107. What&amp;rsquo;s its value?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;❤️&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;❤️&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-31&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;Under the hood, emojis are unicodes. The unicodes for the heart emoji is &lt;code&gt;&amp;quot;U+2764 U+FE0F&amp;quot;&lt;/code&gt;. These are always the same for the same emojis, so we&amp;rsquo;re comparing two equal strings to each other, which returns true.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;108-which-of-these-methods-modifies-the-original-array&#34;&gt;108. Which of these methods modifies the original array?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;✨&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🥑&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;😍&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;map&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;✨&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;filter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;!==&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🥑&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;find&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;!==&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🥑&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;reduce&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;acc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;cur&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;acc&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;✨&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;slice&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;✨&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;splice&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;✨&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;All of them&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;map&lt;/code&gt; &lt;code&gt;reduce&lt;/code&gt; &lt;code&gt;slice&lt;/code&gt; &lt;code&gt;splice&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;map&lt;/code&gt; &lt;code&gt;slice&lt;/code&gt; &lt;code&gt;splice&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;splice&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-15&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;With &lt;code&gt;splice&lt;/code&gt; method, we modify the original array by deleting, replacing or adding elements. In this case, we removed 2 items from index 1 (we removed &lt;code&gt;&#39;🥑&#39;&lt;/code&gt; and &lt;code&gt;&#39;😍&#39;&lt;/code&gt;) and added the ✨ emoji instead.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;map&lt;/code&gt;, &lt;code&gt;filter&lt;/code&gt; and &lt;code&gt;slice&lt;/code&gt; return a new array, &lt;code&gt;find&lt;/code&gt; returns an element, and &lt;code&gt;reduce&lt;/code&gt; returns a reduced value.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;109-whats-the-output&#34;&gt;109. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;food&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🍕&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🍫&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🥑&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🍔&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;info&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;favoriteFood&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;food&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;info&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;favoriteFood&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🍝&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;food&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[&#39;🍕&#39;, &#39;🍫&#39;, &#39;🥑&#39;, &#39;🍔&#39;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[&#39;🍝&#39;, &#39;🍫&#39;, &#39;🥑&#39;, &#39;🍔&#39;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[&#39;🍝&#39;, &#39;🍕&#39;, &#39;🍫&#39;, &#39;🥑&#39;, &#39;🍔&#39;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-32&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;We set the value of the &lt;code&gt;favoriteFood&lt;/code&gt; property on the &lt;code&gt;info&lt;/code&gt; object equal to the string with the pizza emoji, &lt;code&gt;&#39;🍕&#39;&lt;/code&gt;. A string is a primitive data type. In JavaScript, primitive data types don&amp;rsquo;t interact by reference.&lt;/p&gt;
&lt;p&gt;In JavaScript, primitive data types (everything that&amp;rsquo;s not an object) interact by &lt;em&gt;value&lt;/em&gt;. In this case, we set the value of the &lt;code&gt;favoriteFood&lt;/code&gt; property on the &lt;code&gt;info&lt;/code&gt; object equal to the value of the first element in the &lt;code&gt;food&lt;/code&gt; array, the string with the pizza emoji in this case (&lt;code&gt;&#39;🍕&#39;&lt;/code&gt;). A string is a primitive data type, and interact by value (see my &lt;a class=&#34;link&#34; href=&#34;https://www.theavocoder.com/complete-javascript/2018/12/21/by-value-vs-by-reference&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;blogpost&lt;/a&gt; if you&amp;rsquo;re interested in learning more)&lt;/p&gt;
&lt;p&gt;Then, we change the value of the &lt;code&gt;favoriteFood&lt;/code&gt; property on the &lt;code&gt;info&lt;/code&gt; object. The &lt;code&gt;food&lt;/code&gt; array hasn&amp;rsquo;t changed, since the value of &lt;code&gt;favoriteFood&lt;/code&gt; was merely a &lt;em&gt;copy&lt;/em&gt; of the value of the first element in the array, and doesn&amp;rsquo;t have a reference to the same spot in memory as the element on &lt;code&gt;food[0]&lt;/code&gt;. When we log food, it&amp;rsquo;s still the original array, &lt;code&gt;[&#39;🍕&#39;, &#39;🍫&#39;, &#39;🥑&#39;, &#39;🍔&#39;]&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;110-what-does-this-method-do&#34;&gt;110. What does this method do?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;JSON&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;parse&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: Parses JSON to a JavaScript value&lt;/li&gt;
&lt;li&gt;B: Parses a JavaScript object to JSON&lt;/li&gt;
&lt;li&gt;C: Parses any JavaScript value to JSON&lt;/li&gt;
&lt;li&gt;D: Parses JSON to a JavaScript object only&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-33&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;JSON.parse()&lt;/code&gt; method, we can parse JSON string to a JavaScript value.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Stringifying a number into valid JSON, then parsing the JSON string to a JavaScript value:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;jsonNumber&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;JSON&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;stringify&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// &amp;#39;4&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;JSON&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;parse&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;jsonNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// 4
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Stringifying an array value into valid JSON, then parsing the JSON string to a JavaScript value:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;jsonArray&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;JSON&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;stringify&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// &amp;#39;[1, 2, 3]&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;JSON&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;parse&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;jsonArray&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// [1, 2, 3]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Stringifying an object  into valid JSON, then parsing the JSON string to a JavaScript value:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;jsonArray&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;JSON&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;stringify&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// &amp;#39;{&amp;#34;name&amp;#34;:&amp;#34;Lydia&amp;#34;}&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;JSON&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;parse&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;jsonArray&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// { name: &amp;#39;Lydia&amp;#39; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;111-whats-the-output&#34;&gt;111. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Sarah&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;getName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: Lydia&lt;/li&gt;
&lt;li&gt;B: Sarah&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-16&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;Each function has its own &lt;em&gt;execution context&lt;/em&gt; (or &lt;em&gt;scope&lt;/em&gt;). The &lt;code&gt;getName&lt;/code&gt; function first looks within its own context (scope) to see if it contains the variable &lt;code&gt;name&lt;/code&gt; we&amp;rsquo;re trying to access. In this case, the &lt;code&gt;getName&lt;/code&gt; function contains its own &lt;code&gt;name&lt;/code&gt; variable: we declare the variable &lt;code&gt;name&lt;/code&gt; with the &lt;code&gt;let&lt;/code&gt; keyword, and with the value of &lt;code&gt;&#39;Sarah&#39;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Variables with the &lt;code&gt;let&lt;/code&gt; keyword (and &lt;code&gt;const&lt;/code&gt;) are hoisted, but unlike &lt;code&gt;var&lt;/code&gt;, don&amp;rsquo;t get &lt;i&gt;initialized&lt;/i&gt;. They are not accessible before the line we declare (initialize) them. This is called the &amp;ldquo;temporal dead zone&amp;rdquo;. When we try to access the variables before they are declared, JavaScript throws a &lt;code&gt;ReferenceError&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If we wouldn&amp;rsquo;t have declared the &lt;code&gt;name&lt;/code&gt; variable within the &lt;code&gt;getName&lt;/code&gt; function, the javascript engine would&amp;rsquo;ve looked down the &lt;em&gt;scope chain&lt;/em&gt;. The outer scope has a variable called &lt;code&gt;name&lt;/code&gt; with the value of &lt;code&gt;Lydia&lt;/code&gt;. In that case, it would&amp;rsquo;ve logged &lt;code&gt;Lydia&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;getName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// Lydia
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;112-whats-the-output&#34;&gt;112. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;generatorOne&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;yield&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;generatorTwo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;yield&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;one&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;generatorOne&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;two&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;generatorTwo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;one&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;next&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;two&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;next&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;a&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]&lt;/code&gt; and &lt;code&gt;a&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;[&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-32&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;yield&lt;/code&gt; keyword, we &lt;code&gt;yield&lt;/code&gt; values in a generator function. With the &lt;code&gt;yield*&lt;/code&gt; keyword, we can yield values from another generator function, or iterable object (for example an array).&lt;/p&gt;
&lt;p&gt;In &lt;code&gt;generatorOne&lt;/code&gt;, we yield the entire array &lt;code&gt;[&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]&lt;/code&gt; using the &lt;code&gt;yield&lt;/code&gt; keyword. The value of &lt;code&gt;value&lt;/code&gt; property on the object returned by the &lt;code&gt;next&lt;/code&gt; method on &lt;code&gt;one&lt;/code&gt; (&lt;code&gt;one.next().value&lt;/code&gt;) is equal to the entire array &lt;code&gt;[&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;one&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;next&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// [&amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;, &amp;#39;c&amp;#39;]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;one&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;next&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// undefined
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;In &lt;code&gt;generatorTwo&lt;/code&gt;, we use the &lt;code&gt;yield*&lt;/code&gt; keyword. This means that the first yielded value of &lt;code&gt;two&lt;/code&gt;, is equal to the first yielded value in the iterator. The iterator is the array &lt;code&gt;[&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]&lt;/code&gt;. The first yielded value is &lt;code&gt;a&lt;/code&gt;, so the first time we call &lt;code&gt;two.next().value&lt;/code&gt;, &lt;code&gt;a&lt;/code&gt; is returned.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;two&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;next&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// &amp;#39;a&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;two&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;next&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// &amp;#39;b&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;two&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;next&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// &amp;#39;c&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;two&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;next&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// undefined
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;113-whats-the-output&#34;&gt;113. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;I love&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt; to program`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;I love to program&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;undefined to program&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;${(x =&amp;gt; x)(&#39;I love&#39;) to program&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-34&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;Expressions within template literals are evaluated first. This means that the string will contain the returned value of the expression, the immediately invoked function &lt;code&gt;(x =&amp;gt; x)(&#39;I love&#39;)&lt;/code&gt; in this case. We pass the value &lt;code&gt;&#39;I love&#39;&lt;/code&gt; as an argument to the &lt;code&gt;x =&amp;gt; x&lt;/code&gt; arrow function. &lt;code&gt;x&lt;/code&gt; is equal to &lt;code&gt;&#39;I love&#39;&lt;/code&gt;, which gets returned. This results in &lt;code&gt;I love to program&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;114-what-will-happen&#34;&gt;114. What will happen?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;config&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;alert&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;setInterval&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Alert!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;config&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: The &lt;code&gt;setInterval&lt;/code&gt; callback won&amp;rsquo;t be invoked&lt;/li&gt;
&lt;li&gt;B: The &lt;code&gt;setInterval&lt;/code&gt; callback gets invoked once&lt;/li&gt;
&lt;li&gt;C: The &lt;code&gt;setInterval&lt;/code&gt; callback will still be called every second&lt;/li&gt;
&lt;li&gt;D: We never invoked &lt;code&gt;config.alert()&lt;/code&gt;, config is &lt;code&gt;null&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-33&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;Normally when we set objects equal to &lt;code&gt;null&lt;/code&gt;, those objects get &lt;em&gt;garbage collected&lt;/em&gt; as there is no reference anymore to that object. However, since the callback function within &lt;code&gt;setInterval&lt;/code&gt; is an arrow function (thus bound to the &lt;code&gt;config&lt;/code&gt; object), the callback function still holds a reference to the &lt;code&gt;config&lt;/code&gt; object.
As long as there is a reference, the object won&amp;rsquo;t get garbage collected.
Since this is an interval, setting &lt;code&gt;config&lt;/code&gt; to &lt;code&gt;null&lt;/code&gt; or &lt;code&gt;delete&lt;/code&gt;-ing &lt;code&gt;config.alert&lt;/code&gt; won&amp;rsquo;t garbage-collect the interval, so the interval will still be called.
It should be cleared with &lt;code&gt;clearInterval(config.alert)&lt;/code&gt; to remove it from memory.
Since it was not cleared, the &lt;code&gt;setInterval&lt;/code&gt; callback function will still get invoked every 1000ms (1s).&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;115-which-methods-will-return-the-value-hello-world&#34;&gt;115. Which method(s) will return the value &lt;code&gt;&#39;Hello world!&#39;&lt;/code&gt;?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myMap&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Map&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myFunc&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;greeting&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;myMap&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;myFunc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Hello world!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;myMap&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;greeting&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//2
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;myMap&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;myFunc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//3
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;myMap&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;greeting&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: 1&lt;/li&gt;
&lt;li&gt;B: 2&lt;/li&gt;
&lt;li&gt;C: 2 and 3&lt;/li&gt;
&lt;li&gt;D: All of them&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-28&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;When adding a key/value pair using the &lt;code&gt;set&lt;/code&gt; method, the key will be the value of the first argument passed to the &lt;code&gt;set&lt;/code&gt; function, and the value will be the second argument passed to the &lt;code&gt;set&lt;/code&gt; function. The key is the &lt;em&gt;function&lt;/em&gt; &lt;code&gt;() =&amp;gt; &#39;greeting&#39;&lt;/code&gt; in this case, and the value &lt;code&gt;&#39;Hello world&#39;&lt;/code&gt;. &lt;code&gt;myMap&lt;/code&gt; is now &lt;code&gt;{ () =&amp;gt; &#39;greeting&#39; =&amp;gt; &#39;Hello world!&#39; }&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;1 is wrong, since the key is not &lt;code&gt;&#39;greeting&#39;&lt;/code&gt; but &lt;code&gt;() =&amp;gt; &#39;greeting&#39;&lt;/code&gt;.
3 is wrong, since we&amp;rsquo;re creating a new function by passing it as a parameter to the &lt;code&gt;get&lt;/code&gt; method. Object interacts by &lt;em&gt;reference&lt;/em&gt;. Functions are objects, which is why two functions are never strictly equal, even if they are identical: they have a reference to a different spot in memory.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;116-whats-the-output&#34;&gt;116. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;changeAge&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;changeAgeAndName&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Sarah&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;changeAge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;changeAgeAndName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{name: &amp;quot;Sarah&amp;quot;, age: 22}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{name: &amp;quot;Sarah&amp;quot;, age: 23}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{name: &amp;quot;Lydia&amp;quot;, age: 22}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;{name: &amp;quot;Lydia&amp;quot;, age: 23}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-34&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;Both the &lt;code&gt;changeAge&lt;/code&gt; and &lt;code&gt;changeAgeAndName&lt;/code&gt; functions have a default parameter, namely a &lt;em&gt;newly&lt;/em&gt; created object &lt;code&gt;{ ...person }&lt;/code&gt;. This object has copies of all the key/values in the &lt;code&gt;person&lt;/code&gt; object.&lt;/p&gt;
&lt;p&gt;First, we invoke the &lt;code&gt;changeAge&lt;/code&gt; function and pass the &lt;code&gt;person&lt;/code&gt; object as its argument. This function increases the value of the &lt;code&gt;age&lt;/code&gt; property by 1. &lt;code&gt;person&lt;/code&gt; is now &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;, age: 22 }&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Then, we invoke the &lt;code&gt;changeAgeAndName&lt;/code&gt; function, however we don&amp;rsquo;t pass a parameter. Instead, the value of &lt;code&gt;x&lt;/code&gt; is equal to a &lt;em&gt;new&lt;/em&gt; object: &lt;code&gt;{ ...person }&lt;/code&gt;. Since it&amp;rsquo;s a new object, it doesn&amp;rsquo;t affect the values of the properties on the &lt;code&gt;person&lt;/code&gt; object. &lt;code&gt;person&lt;/code&gt; is still equal to &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;, age: 22 }&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;117-which-of-the-following-options-will-return-6&#34;&gt;117. Which of the following options will return &lt;code&gt;6&lt;/code&gt;?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sumValues&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;z&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;z&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;sumValues([...1, 2, 3])&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;sumValues([...[1, 2, 3]])&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;sumValues(...[1, 2, 3])&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;sumValues([1, 2, 3])&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-35&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;With the spread operator &lt;code&gt;...&lt;/code&gt;, we can &lt;em&gt;spread&lt;/em&gt; iterables to individual elements. The &lt;code&gt;sumValues&lt;/code&gt; function receives three arguments: &lt;code&gt;x&lt;/code&gt;, &lt;code&gt;y&lt;/code&gt; and &lt;code&gt;z&lt;/code&gt;. &lt;code&gt;...[1, 2, 3]&lt;/code&gt; will result in &lt;code&gt;1, 2, 3&lt;/code&gt;, which we pass to the &lt;code&gt;sumValues&lt;/code&gt; function.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;118-whats-the-output&#34;&gt;118. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;list&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🥳&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🤠&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🥰&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🤪&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;list&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;🤠&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;🥰&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-29&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;+=&lt;/code&gt; operator, we&amp;rsquo;re incrementing the value of &lt;code&gt;num&lt;/code&gt; by &lt;code&gt;1&lt;/code&gt;. &lt;code&gt;num&lt;/code&gt; had the initial value &lt;code&gt;1&lt;/code&gt;, so &lt;code&gt;1 + 1&lt;/code&gt; is &lt;code&gt;2&lt;/code&gt;. The item on the second index in the &lt;code&gt;list&lt;/code&gt; array is 🥰, &lt;code&gt;console.log(list[2])&lt;/code&gt; prints 🥰.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;119-whats-the-output&#34;&gt;119. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;lastName&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Hallie&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;pet&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Mara&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;breed&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Dutch Tulip Hound&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;getFullName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;firstName&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;lastName&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;pet&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;?&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;pet&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;?&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;family&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;?&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getFullName&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;?&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;member&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getLastName&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;?&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Mara&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;Lydia Hallie&lt;/code&gt; &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Mara&lt;/code&gt; &lt;code&gt;null&lt;/code&gt; &lt;code&gt;Lydia Hallie&lt;/code&gt; &lt;code&gt;null&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;null&lt;/code&gt; &lt;code&gt;ReferenceError&lt;/code&gt; &lt;code&gt;null&lt;/code&gt; &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-30&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;With the optional chaining operator &lt;code&gt;?.&lt;/code&gt;, we no longer have to explicitly check whether the deeper nested values are valid or not. If we&amp;rsquo;re trying to access a property on an &lt;code&gt;undefined&lt;/code&gt; or &lt;code&gt;null&lt;/code&gt; value (&lt;em&gt;nullish&lt;/em&gt;), the expression short-circuits and returns &lt;code&gt;undefined&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;person.pet?.name&lt;/code&gt;: &lt;code&gt;person&lt;/code&gt; has a property named &lt;code&gt;pet&lt;/code&gt;: &lt;code&gt;person.pet&lt;/code&gt; is not nullish. It has a property called &lt;code&gt;name&lt;/code&gt;, and returns &lt;code&gt;Mara&lt;/code&gt;.
&lt;code&gt;person.pet?.family?.name&lt;/code&gt;: &lt;code&gt;person&lt;/code&gt; has a property named &lt;code&gt;pet&lt;/code&gt;: &lt;code&gt;person.pet&lt;/code&gt; is not nullish. &lt;code&gt;pet&lt;/code&gt; does &lt;em&gt;not&lt;/em&gt; have a property called &lt;code&gt;family&lt;/code&gt;, &lt;code&gt;person.pet.family&lt;/code&gt; is nullish. The expression returns &lt;code&gt;undefined&lt;/code&gt;.
&lt;code&gt;person.getFullName?.()&lt;/code&gt;: &lt;code&gt;person&lt;/code&gt; has a property named &lt;code&gt;getFullName&lt;/code&gt;: &lt;code&gt;person.getFullName()&lt;/code&gt; is not nullish and can get invoked, which returns &lt;code&gt;Lydia Hallie&lt;/code&gt;.
&lt;code&gt;member.getLastName?.()&lt;/code&gt;: variable &lt;code&gt;member&lt;/code&gt; is non-existent therefore a &lt;code&gt;ReferenceError&lt;/code&gt; gets thrown!&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;120-whats-the-output&#34;&gt;120. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;groceries&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;banana&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;apple&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;peanuts&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;groceries&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;indexOf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;banana&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;We have to buy bananas!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`We don&amp;#39;t have to buy bananas!`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: We have to buy bananas!&lt;/li&gt;
&lt;li&gt;B: We don&amp;rsquo;t have to buy bananas&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;1&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-31&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;We passed the condition &lt;code&gt;groceries.indexOf(&amp;quot;banana&amp;quot;)&lt;/code&gt; to the if-statement. &lt;code&gt;groceries.indexOf(&amp;quot;banana&amp;quot;)&lt;/code&gt; returns &lt;code&gt;0&lt;/code&gt;, which is a falsy value. Since the condition in the if-statement is falsy, the code in the &lt;code&gt;else&lt;/code&gt; block runs, and &lt;code&gt;We don&#39;t have to buy bananas!&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;121-whats-the-output&#34;&gt;121. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;config&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;languages&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;language&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;languages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;push&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;config&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;language&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;function language(lang) { this.languages.push(lang }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-17&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;language&lt;/code&gt; method is a &lt;code&gt;setter&lt;/code&gt;. Setters don&amp;rsquo;t hold an actual value, their purpose is to &lt;em&gt;modify&lt;/em&gt; properties. When calling a &lt;code&gt;setter&lt;/code&gt; method, &lt;code&gt;undefined&lt;/code&gt; gets returned.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;122-whats-the-output&#34;&gt;122. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia Hallie&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;object&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;string&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;true&lt;/code&gt; &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;false&lt;/code&gt; &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;true&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-36&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;typeof name&lt;/code&gt; returns &lt;code&gt;&amp;quot;string&amp;quot;&lt;/code&gt;. The string &lt;code&gt;&amp;quot;string&amp;quot;&lt;/code&gt; is a truthy value, so &lt;code&gt;!typeof name&lt;/code&gt; returns the boolean value &lt;code&gt;false&lt;/code&gt;. &lt;code&gt;false === &amp;quot;object&amp;quot;&lt;/code&gt; and &lt;code&gt;false === &amp;quot;string&amp;quot;&lt;/code&gt; both return&lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;(If we wanted to check whether the type was (un)equal to a certain type, we should&amp;rsquo;ve written &lt;code&gt;!==&lt;/code&gt; instead of &lt;code&gt;!typeof&lt;/code&gt;)&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;123-whats-the-output&#34;&gt;123. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;z&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;z&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;z&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;4&lt;/code&gt; &lt;code&gt;5&lt;/code&gt; &lt;code&gt;6&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;6&lt;/code&gt; &lt;code&gt;5&lt;/code&gt; &lt;code&gt;4&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;4&lt;/code&gt; &lt;code&gt;function&lt;/code&gt; &lt;code&gt;function&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;6&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-35&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;add&lt;/code&gt; function returns an arrow function, which returns an arrow function, which returns an arrow function (still with me?). The first function receives an argument &lt;code&gt;x&lt;/code&gt; with the value of &lt;code&gt;4&lt;/code&gt;. We invoke the second function, which receives an argument &lt;code&gt;y&lt;/code&gt; with the value &lt;code&gt;5&lt;/code&gt;. Then we invoke the third function, which receives an argument &lt;code&gt;z&lt;/code&gt; with the value &lt;code&gt;6&lt;/code&gt;. When we&amp;rsquo;re trying to access the value &lt;code&gt;x&lt;/code&gt;, &lt;code&gt;y&lt;/code&gt; and &lt;code&gt;z&lt;/code&gt; within the last arrow function, the JS engine goes up the scope chain in order to find the values for &lt;code&gt;x&lt;/code&gt; and &lt;code&gt;y&lt;/code&gt; accordingly. This returns &lt;code&gt;4&lt;/code&gt; &lt;code&gt;5&lt;/code&gt; &lt;code&gt;6&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;124-whats-the-output&#34;&gt;124. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;start&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;start&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;yield&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resolve&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;gen&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;gen&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;Promise {1}&lt;/code&gt; &lt;code&gt;Promise {2}&lt;/code&gt; &lt;code&gt;Promise {3}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Promise {&amp;lt;pending&amp;gt;}&lt;/code&gt; &lt;code&gt;Promise {&amp;lt;pending&amp;gt;}&lt;/code&gt; &lt;code&gt;Promise {&amp;lt;pending&amp;gt;}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; &lt;code&gt;3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-37&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The generator function &lt;code&gt;range&lt;/code&gt; returns an async object with promises for each item in the range we pass: &lt;code&gt;Promise{1}&lt;/code&gt;, &lt;code&gt;Promise{2}&lt;/code&gt;, &lt;code&gt;Promise{3}&lt;/code&gt;. We set the variable &lt;code&gt;gen&lt;/code&gt; equal to the async object, after which we loop over it using a &lt;code&gt;for await ... of&lt;/code&gt; loop. We set the variable &lt;code&gt;item&lt;/code&gt; equal to the returned Promise values: first &lt;code&gt;Promise{1}&lt;/code&gt;, then &lt;code&gt;Promise{2}&lt;/code&gt;, then &lt;code&gt;Promise{3}&lt;/code&gt;. Since we&amp;rsquo;re &lt;em&gt;awaiting&lt;/em&gt; the value of &lt;code&gt;item&lt;/code&gt;, the resolved promise, the resolved &lt;em&gt;values&lt;/em&gt; of the promises get returned: &lt;code&gt;1&lt;/code&gt;, &lt;code&gt;2&lt;/code&gt;, then &lt;code&gt;3&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;125-whats-the-output&#34;&gt;125. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myFunc&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;z&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;y&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;z&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;myFunc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;1&lt;/code&gt; &lt;code&gt;2&lt;/code&gt; &lt;code&gt;3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{1: 1}&lt;/code&gt; &lt;code&gt;{2: 2}&lt;/code&gt; &lt;code&gt;{3: 3}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{ 1: undefined }&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt; &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-18&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;myFunc&lt;/code&gt; expects an object with properties &lt;code&gt;x&lt;/code&gt;, &lt;code&gt;y&lt;/code&gt; and &lt;code&gt;z&lt;/code&gt; as its argument. Since we&amp;rsquo;re only passing three separate numeric values (1, 2, 3) instead of one object with properties &lt;code&gt;x&lt;/code&gt;, &lt;code&gt;y&lt;/code&gt; and &lt;code&gt;z&lt;/code&gt; ({x: 1, y: 2, z: 3}), &lt;code&gt;x&lt;/code&gt;, &lt;code&gt;y&lt;/code&gt; and &lt;code&gt;z&lt;/code&gt; have their default value of &lt;code&gt;undefined&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;126-whats-the-output&#34;&gt;126. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getFine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;speed&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;amount&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;formattedSpeed&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Intl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;NumberFormat&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;en-US&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;style&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;unit&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;unit&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;mile-per-hour&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}).&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;format&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;speed&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;formattedAmount&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Intl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;NumberFormat&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;en-US&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;style&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;currency&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;currency&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;USD&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}).&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;format&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;amount&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`The driver drove &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;formattedSpeed&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt; and has to pay &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;formattedAmount&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getFine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;130&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;300&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: The driver drove 130 and has to pay 300&lt;/li&gt;
&lt;li&gt;B: The driver drove 130 mph and has to pay $300.00&lt;/li&gt;
&lt;li&gt;C: The driver drove undefined and has to pay undefined&lt;/li&gt;
&lt;li&gt;D: The driver drove 130.00 and has to pay 300.00&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-32&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;Intl.NumberFormat&lt;/code&gt; method, we can format numeric values to any locale. We format the numeric value &lt;code&gt;130&lt;/code&gt; to the &lt;code&gt;en-US&lt;/code&gt; locale as a &lt;code&gt;unit&lt;/code&gt; in &lt;code&gt;mile-per-hour&lt;/code&gt;, which results in &lt;code&gt;130 mph&lt;/code&gt;. The numeric value &lt;code&gt;300&lt;/code&gt; to the &lt;code&gt;en-US&lt;/code&gt; locale as a &lt;code&gt;currency&lt;/code&gt; in &lt;code&gt;USD&lt;/code&gt; results in &lt;code&gt;$300.00&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;127-whats-the-output&#34;&gt;127. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;spookyItems&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;👻&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🎃&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🕸&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;spookyItems&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;💀&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;spookyItems&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[&amp;quot;👻&amp;quot;, &amp;quot;🎃&amp;quot;, &amp;quot;🕸&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[&amp;quot;👻&amp;quot;, &amp;quot;🎃&amp;quot;, &amp;quot;🕸&amp;quot;, &amp;quot;💀&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[&amp;quot;👻&amp;quot;, &amp;quot;🎃&amp;quot;, &amp;quot;🕸&amp;quot;, { item: &amp;quot;💀&amp;quot; }]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;[&amp;quot;👻&amp;quot;, &amp;quot;🎃&amp;quot;, &amp;quot;🕸&amp;quot;, &amp;quot;[object Object]&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-33&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;By destructuring objects, we can unpack values from the right-hand object, and assign the unpacked value to the value of the same property name on the left-hand object. In this case, we&amp;rsquo;re assigning the value &amp;ldquo;💀&amp;rdquo; to &lt;code&gt;spookyItems[3]&lt;/code&gt;. This means that we&amp;rsquo;re modifying the &lt;code&gt;spookyItems&lt;/code&gt; array, we&amp;rsquo;re adding the &amp;ldquo;💀&amp;rdquo; to it. When logging &lt;code&gt;spookyItems&lt;/code&gt;, &lt;code&gt;[&amp;quot;👻&amp;quot;, &amp;quot;🎃&amp;quot;, &amp;quot;🕸&amp;quot;, &amp;quot;💀&amp;quot;]&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;128-whats-the-output&#34;&gt;128. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia Hallie&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;Number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;isNaN&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;Number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;isNaN&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;isNaN&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;isNaN&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;true&lt;/code&gt; &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;true&lt;/code&gt; &lt;code&gt;false&lt;/code&gt; &lt;code&gt;false&lt;/code&gt; &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;false&lt;/code&gt; &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt; &lt;code&gt;false&lt;/code&gt; &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-38&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;Number.isNaN&lt;/code&gt; method, you can check if the value you pass is a &lt;em&gt;numeric value&lt;/em&gt; and equal to &lt;code&gt;NaN&lt;/code&gt;. &lt;code&gt;name&lt;/code&gt; is not a numeric value, so &lt;code&gt;Number.isNaN(name)&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt;. &lt;code&gt;age&lt;/code&gt; is a numeric value, but is not equal to &lt;code&gt;NaN&lt;/code&gt;, so &lt;code&gt;Number.isNaN(age)&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;With the &lt;code&gt;isNaN&lt;/code&gt; method, you can check if the value you pass is not a number. &lt;code&gt;name&lt;/code&gt; is not a number, so &lt;code&gt;isNaN(name)&lt;/code&gt; returns true. &lt;code&gt;age&lt;/code&gt; is a number, so &lt;code&gt;isNaN(age)&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;129-whats-the-output&#34;&gt;129. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;randomValue&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;randomValue&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;randomValue&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia Hallie&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;getInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;&amp;quot;number&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;&amp;quot;string&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-19&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;Variables declared with the &lt;code&gt;const&lt;/code&gt; keyword are not referenceable before their initialization: this is called the &lt;em&gt;temporal dead zone&lt;/em&gt;. In the &lt;code&gt;getInfo&lt;/code&gt; function, the variable &lt;code&gt;randomValue&lt;/code&gt; is scoped in the functional scope of &lt;code&gt;getInfo&lt;/code&gt;. On the line where we want to log the value of &lt;code&gt;typeof randomValue&lt;/code&gt;, the variable &lt;code&gt;randomValue&lt;/code&gt; isn&amp;rsquo;t initialized yet: a &lt;code&gt;ReferenceError&lt;/code&gt; gets thrown! The engine didn&amp;rsquo;t go down the scope chain since we declared the variable &lt;code&gt;randomValue&lt;/code&gt; in the &lt;code&gt;getInfo&lt;/code&gt; function.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;130-whats-the-output&#34;&gt;130. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myPromise&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resolve&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Woah some cool data&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;try&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kr&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myPromise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;catch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;throw&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`Oops didn&amp;#39;t work`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;finally&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Oh finally!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;Woah some cool data&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Oh finally!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Woah some cool data&lt;/code&gt; &lt;code&gt;Oh finally!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Oops didn&#39;t work&lt;/code&gt; &lt;code&gt;Oh finally!&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-39&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;In the &lt;code&gt;try&lt;/code&gt; block, we&amp;rsquo;re logging the awaited value of the &lt;code&gt;myPromise&lt;/code&gt; variable: &lt;code&gt;&amp;quot;Woah some cool data&amp;quot;&lt;/code&gt;. Since no errors were thrown in the &lt;code&gt;try&lt;/code&gt; block, the code in the &lt;code&gt;catch&lt;/code&gt; block doesn&amp;rsquo;t run. The code in the &lt;code&gt;finally&lt;/code&gt; block &lt;em&gt;always&lt;/em&gt; runs, &lt;code&gt;&amp;quot;Oh finally!&amp;quot;&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;131-whats-the-output&#34;&gt;131. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🥑&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;✨&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;✨&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🍕&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🍕&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;flat&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[&#39;🥑&#39;, [&#39;✨&#39;, &#39;✨&#39;, [&#39;🍕&#39;, &#39;🍕&#39;]]]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[&#39;🥑&#39;, &#39;✨&#39;, &#39;✨&#39;, [&#39;🍕&#39;, &#39;🍕&#39;]]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[&#39;🥑&#39;, [&#39;✨&#39;, &#39;✨&#39;, &#39;🍕&#39;, &#39;🍕&#39;]]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;[&#39;🥑&#39;, &#39;✨&#39;, &#39;✨&#39;, &#39;🍕&#39;, &#39;🍕&#39;]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-34&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;With the &lt;code&gt;flat&lt;/code&gt; method, we can create a new, flattened array. The depth of the flattened array depends on the value that we pass. In this case, we passed the value &lt;code&gt;1&lt;/code&gt; (which we didn&amp;rsquo;t have to, that&amp;rsquo;s the default value), meaning that only the arrays on the first depth will be concatenated. &lt;code&gt;[&#39;🥑&#39;]&lt;/code&gt; and &lt;code&gt;[&#39;✨&#39;, &#39;✨&#39;, [&#39;🍕&#39;, &#39;🍕&#39;]]&lt;/code&gt; in this case. Concatenating these two arrays results in &lt;code&gt;[&#39;🥑&#39;, &#39;✨&#39;, &#39;✨&#39;, [&#39;🍕&#39;, &#39;🍕&#39;]]&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;132-whats-the-output&#34;&gt;132. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Counter&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;count&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;increment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;count&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;counterOne&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Counter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;counterOne&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;increment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;counterOne&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;increment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;counterTwo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;counterOne&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;counterTwo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;increment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;counterOne&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;3&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-20&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;counterOne&lt;/code&gt; is an instance of the &lt;code&gt;Counter&lt;/code&gt; class. The counter class contains a &lt;code&gt;count&lt;/code&gt; property on its constructor, and an &lt;code&gt;increment&lt;/code&gt; method. First, we invoked the &lt;code&gt;increment&lt;/code&gt; method twice by calling &lt;code&gt;counterOne.increment()&lt;/code&gt;. Currently, &lt;code&gt;counterOne.count&lt;/code&gt; is &lt;code&gt;2&lt;/code&gt;.&lt;/p&gt;
&lt;img src=&#34;https://i.imgur.com/KxLlTm9.png&#34; width=&#34;400&#34;&gt;
&lt;p&gt;Then, we create a new variable &lt;code&gt;counterTwo&lt;/code&gt;, and set it equal to &lt;code&gt;counterOne&lt;/code&gt;. Since objects interact by reference, we&amp;rsquo;re just creating a new reference to the same spot in memory that &lt;code&gt;counterOne&lt;/code&gt; points to. Since it has the same spot in memory, any changes made to the object that &lt;code&gt;counterTwo&lt;/code&gt; has a reference to, also apply to &lt;code&gt;counterOne&lt;/code&gt;. Currently, &lt;code&gt;counterTwo.count&lt;/code&gt; is &lt;code&gt;2&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;We invoke &lt;code&gt;counterTwo.increment()&lt;/code&gt;, which sets &lt;code&gt;count&lt;/code&gt; to &lt;code&gt;3&lt;/code&gt;. Then, we log the count on &lt;code&gt;counterOne&lt;/code&gt;, which logs &lt;code&gt;3&lt;/code&gt;.&lt;/p&gt;
&lt;img src=&#34;https://i.imgur.com/BNBHXmc.png&#34; width=&#34;400&#34;&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;133-whats-the-output&#34;&gt;133. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myPromise&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resolve&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resolve&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Promise&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;funcOne&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;setTimeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Timeout 1!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;myPromise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;then&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;then&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt; 1!`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Last line 1!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;funcTwo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myPromise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt; 2!`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;setTimeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Timeout 2!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Last line 2!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;funcOne&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;funcTwo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;Promise 1! Last line 1! Promise 2! Last line 2! Timeout 1! Timeout 2!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Last line 1! Timeout 1! Promise 1! Last line 2! Promise2! Timeout 2! &lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Last line 1! Promise 2! Last line 2! Promise 1! Timeout 1! Timeout 2!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Timeout 1! Promise 1! Last line 1! Promise 2! Timeout 2! Last line 2!&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-40&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;First, we invoke &lt;code&gt;funcOne&lt;/code&gt;. On the first line of &lt;code&gt;funcOne&lt;/code&gt;, we call the &lt;em&gt;asynchronous&lt;/em&gt; &lt;code&gt;setTimeout&lt;/code&gt; function, from which the callback is sent to the Web API. (see my article on the event loop &lt;a href=&#34;https://dev.to/lydiahallie/javascript-visualized-event-loop-3dif&#34;&gt;here&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;Then we call the &lt;code&gt;myPromise&lt;/code&gt; promise, which is an &lt;em&gt;asynchronous&lt;/em&gt; operation. Pay attention, that now only the first then clause was added to the microtask queue.&lt;/p&gt;
&lt;p&gt;Both the promise and the timeout are asynchronous operations, the function keeps on running while it&amp;rsquo;s busy completing the promise and handling the &lt;code&gt;setTimeout&lt;/code&gt; callback. This means that &lt;code&gt;Last line 1!&lt;/code&gt; gets logged first, since this is not an asynchonous operation.&lt;/p&gt;
&lt;p&gt;Since the callstack is not empty yet, the &lt;code&gt;setTimeout&lt;/code&gt; function and promise in &lt;code&gt;funcOne&lt;/code&gt; cannot get added to the callstack yet.&lt;/p&gt;
&lt;p&gt;In &lt;code&gt;funcTwo&lt;/code&gt;, the variable &lt;code&gt;res&lt;/code&gt; gets &lt;code&gt;Promise&lt;/code&gt; because &lt;code&gt;Promise.resolve(Promise.resolve(&#39;Promise&#39;))&lt;/code&gt; is equivalent to &lt;code&gt;Promise.resolve(&#39;Promise&#39;)&lt;/code&gt; since resolving a promise just resolves it&amp;rsquo;s value. The &lt;code&gt;await&lt;/code&gt; in this line stops the execution of the function until it receives the resolution of the promise and then keeps on running synchronously until completion, so &lt;code&gt;Promise 2!&lt;/code&gt; and then &lt;code&gt;Last line 2!&lt;/code&gt; are logged and the &lt;code&gt;setTimeout&lt;/code&gt; is sent to the Web API. If the first then clause in &lt;code&gt;funcOne&lt;/code&gt; had its own log statement, it would be printed before &lt;code&gt;Promise 2!&lt;/code&gt;. Howewer, it executed silently and put the second then clause in microtask queue. So, the second clause will be printed after &lt;code&gt;Promise 2!&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Then the call stack is empty. Promises are &lt;em&gt;microtasks&lt;/em&gt; so they are resolved first when the call stack is empty so &lt;code&gt;Promise 1!&lt;/code&gt; gets to be logged.&lt;/p&gt;
&lt;p&gt;Now, since &lt;code&gt;funcTwo&lt;/code&gt; popped off the call stack, the call stack is empty. The callbacks waiting in the queue (&lt;code&gt;() =&amp;gt; console.log(&amp;quot;Timeout 1!&amp;quot;)&lt;/code&gt; from &lt;code&gt;funcOne&lt;/code&gt;, and &lt;code&gt;() =&amp;gt; console.log(&amp;quot;Timeout 2!&amp;quot;)&lt;/code&gt; from &lt;code&gt;funcTwo&lt;/code&gt;) get added to the call stack one by one. The first callback logs &lt;code&gt;Timeout 1!&lt;/code&gt;, and gets popped off the stack. Then, the second callback logs &lt;code&gt;Timeout 2!&lt;/code&gt;, and gets popped off the stack.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;134-how-can-we-invoke-sum-in-sumjs-from-indexjs&#34;&gt;134. How can we invoke &lt;code&gt;sum&lt;/code&gt; in &lt;code&gt;sum.js&lt;/code&gt; from &lt;code&gt;index.js?&lt;/code&gt;
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// sum.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;default&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// index.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;./sum&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;sum(4)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;sum.sum(4)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;sum.default(4)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: Default aren&amp;rsquo;t imported with &lt;code&gt;*&lt;/code&gt;, only named exports&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-41&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;With the asterisk &lt;code&gt;*&lt;/code&gt;, we import all exported values from that file, both default and named. If we had the following file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// info.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;default&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;I love JavaScript&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// index.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;info&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;./info&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;info&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The following would get logged:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;default&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;I love JavaScript&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Lydia&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;For the &lt;code&gt;sum&lt;/code&gt; example, it means that the imported value &lt;code&gt;sum&lt;/code&gt; looks like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;default&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;We can invoke this function, by calling &lt;code&gt;sum.default&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;135-whats-the-output&#34;&gt;135. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;handler&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Added a new property!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;get&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Accessed a property!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Proxy&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({},&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;handler&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;Added a new property!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Accessed a property!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;Added a new property!&lt;/code&gt; &lt;code&gt;Accessed a property!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: Nothing gets logged&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-42&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;With a Proxy object, we can add custom behavior to an object that we pass to it as the second argument. In this case, we pass the &lt;code&gt;handler&lt;/code&gt; object which contains two properties: &lt;code&gt;set&lt;/code&gt; and &lt;code&gt;get&lt;/code&gt;. &lt;code&gt;set&lt;/code&gt; gets invoked whenever we &lt;em&gt;set&lt;/em&gt; property values, and &lt;code&gt;get&lt;/code&gt; gets invoked whenever we &lt;em&gt;get&lt;/em&gt; (access) property values.&lt;/p&gt;
&lt;p&gt;The first argument is an empty object &lt;code&gt;{}&lt;/code&gt;, which is the value of &lt;code&gt;person&lt;/code&gt;. To this object, the custom behavior specified in the &lt;code&gt;handler&lt;/code&gt; object gets added. If we add a property to the &lt;code&gt;person&lt;/code&gt; object, &lt;code&gt;set&lt;/code&gt; will get invoked. If we access a property on the &lt;code&gt;person&lt;/code&gt; object, &lt;code&gt;get&lt;/code&gt; gets invoked.&lt;/p&gt;
&lt;p&gt;First, we added a new property &lt;code&gt;name&lt;/code&gt; to the proxy object (&lt;code&gt;person.name = &amp;quot;Lydia&amp;quot;&lt;/code&gt;). &lt;code&gt;set&lt;/code&gt; gets invoked, and logs &lt;code&gt;&amp;quot;Added a new property!&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Then, we access a property value on the proxy object, and the &lt;code&gt;get&lt;/code&gt; property on the handler object is invoked. &lt;code&gt;&amp;quot;Accessed a property!&amp;quot;&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;136-which-of-the-following-will-modify-the-person-object&#34;&gt;136. Which of the following will modify the &lt;code&gt;person&lt;/code&gt; object?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia Hallie&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Object&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;seal&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;person.name = &amp;quot;Evan Bacon&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;person.age = 21&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;delete person.name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;Object.assign(person, { age: 21 })&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-36&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;With &lt;code&gt;Object.seal&lt;/code&gt; we can prevent new properties from being &lt;em&gt;added&lt;/em&gt;, or existing properties to be &lt;em&gt;removed&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;However, you can still modify the value of existing properties.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;137-which-of-the-following-will-modify-the-person-object&#34;&gt;137. Which of the following will modify the &lt;code&gt;person&lt;/code&gt; object?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia Hallie&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;address&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;street&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;100 Main St&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Object&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;freeze&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;person.name = &amp;quot;Evan Bacon&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;delete person.address&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;person.address.street = &amp;quot;101 Main St&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;person.pet = { name: &amp;quot;Mara&amp;quot; }&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-43&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;Object.freeze&lt;/code&gt; method &lt;em&gt;freezes&lt;/em&gt; an object. No properties can be added, modified, or removed.&lt;/p&gt;
&lt;p&gt;However, it only &lt;em&gt;shallowly&lt;/em&gt; freezes the object, meaning that only &lt;em&gt;direct&lt;/em&gt; properties on the object are frozen. If the property is another object, like &lt;code&gt;address&lt;/code&gt; in this case, the properties on that object aren&amp;rsquo;t frozen, and can be modified.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;138-whats-the-output&#34;&gt;138. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;myFunc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;myFunc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;myFunc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;2&lt;/code&gt; &lt;code&gt;4&lt;/code&gt; and &lt;code&gt;3&lt;/code&gt; &lt;code&gt;6&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;2&lt;/code&gt; &lt;code&gt;NaN&lt;/code&gt; and &lt;code&gt;3&lt;/code&gt; &lt;code&gt;NaN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;2&lt;/code&gt; &lt;code&gt;Error&lt;/code&gt; and &lt;code&gt;3&lt;/code&gt; &lt;code&gt;6&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;2&lt;/code&gt; &lt;code&gt;4&lt;/code&gt; and &lt;code&gt;3&lt;/code&gt; &lt;code&gt;Error&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-37&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;First, we invoked &lt;code&gt;myFunc()&lt;/code&gt; without passing any arguments. Since we didn&amp;rsquo;t pass arguments, &lt;code&gt;num&lt;/code&gt; and &lt;code&gt;value&lt;/code&gt; got their default values: num is &lt;code&gt;2&lt;/code&gt;, and &lt;code&gt;value&lt;/code&gt; is the returned value of the function &lt;code&gt;add&lt;/code&gt;. To the &lt;code&gt;add&lt;/code&gt; function, we pass &lt;code&gt;num&lt;/code&gt; as an argument, which had the value of &lt;code&gt;2&lt;/code&gt;. &lt;code&gt;add&lt;/code&gt; returns &lt;code&gt;4&lt;/code&gt;, which is the value of &lt;code&gt;value&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Then, we invoked &lt;code&gt;myFunc(3)&lt;/code&gt; and passed the value &lt;code&gt;3&lt;/code&gt; as the value for the argument &lt;code&gt;num&lt;/code&gt;. We didn&amp;rsquo;t pass an argument for &lt;code&gt;value&lt;/code&gt;. Since we didn&amp;rsquo;t pass a value for the &lt;code&gt;value&lt;/code&gt; argument, it got the default value: the returned value of the &lt;code&gt;add&lt;/code&gt; function. To &lt;code&gt;add&lt;/code&gt;, we pass &lt;code&gt;num&lt;/code&gt;, which has the value of &lt;code&gt;3&lt;/code&gt;. &lt;code&gt;add&lt;/code&gt; returns &lt;code&gt;6&lt;/code&gt;, which is the value of &lt;code&gt;value&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;139-whats-the-output&#34;&gt;139. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Counter&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;err&#34;&gt;#&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;number&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;increment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;#&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;getNum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;#&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;number&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;counter&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Counter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;counter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;increment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;counter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;#&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;10&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;11&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;SyntaxError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-21&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;In ES2020, we can add private variables in classes by using the &lt;code&gt;#&lt;/code&gt;. We cannot access these variables outside of the class. When we try to log &lt;code&gt;counter.#number&lt;/code&gt;, a SyntaxError gets thrown: we cannot access it outside the &lt;code&gt;Counter&lt;/code&gt; class!&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;140-whats-missing&#34;&gt;140. What&amp;rsquo;s missing?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;teams&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Team 1&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;members&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Paul&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lisa&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Team 2&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;members&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Laura&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Tim&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getMembers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;members&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;members&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;yield&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;members&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getTeams&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;teams&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;teams&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// ✨ SOMETHING IS MISSING HERE ✨
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;obj&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getTeams&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;teams&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;obj&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;next&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// { value: &amp;#34;Paul&amp;#34;, done: false }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;obj&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;next&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// { value: &amp;#34;Lisa&amp;#34;, done: false }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;yield getMembers(teams[i].members)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;yield* getMembers(teams[i].members)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;return getMembers(teams[i].members)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;return yield getMembers(teams[i].members)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-35&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;In order to iterate over the &lt;code&gt;members&lt;/code&gt; in each element in the &lt;code&gt;teams&lt;/code&gt; array, we need to pass &lt;code&gt;teams[i].members&lt;/code&gt; to the &lt;code&gt;getMembers&lt;/code&gt; generator function. The generator function returns a generator object. In order to iterate over each element in this generator object, we need to use &lt;code&gt;yield*&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If we would&amp;rsquo;ve written &lt;code&gt;yield&lt;/code&gt;, &lt;code&gt;return yield&lt;/code&gt;, or &lt;code&gt;return&lt;/code&gt;, the entire generator function would&amp;rsquo;ve gotten returned the first time we called the &lt;code&gt;next&lt;/code&gt; method.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;141-whats-the-output&#34;&gt;141. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Lydia Hallie&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;hobbies&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;coding&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;addHobby&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;hobby&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;hobbies&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;hobbies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;hobbies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;push&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;hobby&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;hobbies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;addHobby&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;running&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;addHobby&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;dancing&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;addHobby&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;baking&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;hobbies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;hobbies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[&amp;quot;coding&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[&amp;quot;coding&amp;quot;, &amp;quot;dancing&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[&amp;quot;coding&amp;quot;, &amp;quot;dancing&amp;quot;, &amp;quot;baking&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;[&amp;quot;coding&amp;quot;, &amp;quot;running&amp;quot;, &amp;quot;dancing&amp;quot;, &amp;quot;baking&amp;quot;]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-44&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;addHobby&lt;/code&gt; function receives two arguments, &lt;code&gt;hobby&lt;/code&gt; and &lt;code&gt;hobbies&lt;/code&gt; with the default value of the &lt;code&gt;hobbies&lt;/code&gt; array on the &lt;code&gt;person&lt;/code&gt; object.&lt;/p&gt;
&lt;p&gt;First, we invoke the &lt;code&gt;addHobby&lt;/code&gt; function, and pass &lt;code&gt;&amp;quot;running&amp;quot;&lt;/code&gt; as the value for &lt;code&gt;hobby&lt;/code&gt; and an empty array as the value for &lt;code&gt;hobbies&lt;/code&gt;. Since we pass an empty array as the value for &lt;code&gt;hobbies&lt;/code&gt;, &lt;code&gt;&amp;quot;running&amp;quot;&lt;/code&gt; gets added to this empty array.&lt;/p&gt;
&lt;p&gt;Then, we invoke the &lt;code&gt;addHobby&lt;/code&gt; function, and pass &lt;code&gt;&amp;quot;dancing&amp;quot;&lt;/code&gt; as the value for &lt;code&gt;hobby&lt;/code&gt;. We didn&amp;rsquo;t pass a value for &lt;code&gt;hobbies&lt;/code&gt;, so it gets the default value, the &lt;code&gt;hobbies&lt;/code&gt; property on the &lt;code&gt;person&lt;/code&gt; object. We push the hobby &lt;code&gt;dancing&lt;/code&gt; to the &lt;code&gt;person.hobbies&lt;/code&gt; array.&lt;/p&gt;
&lt;p&gt;Last, we invoke the &lt;code&gt;addHobby&lt;/code&gt; function, and pass &lt;code&gt;&amp;quot;baking&amp;quot;&lt;/code&gt; as the value for &lt;code&gt;hobby&lt;/code&gt;, and the &lt;code&gt;person.hobbies&lt;/code&gt; array as the value for &lt;code&gt;hobbies&lt;/code&gt;. We push the hobby &lt;code&gt;baking&lt;/code&gt; to the &lt;code&gt;person.hobbies&lt;/code&gt; array.&lt;/p&gt;
&lt;p&gt;After pushing &lt;code&gt;dancing&lt;/code&gt; and &lt;code&gt;baking&lt;/code&gt;, the value of &lt;code&gt;person.hobbies&lt;/code&gt; is &lt;code&gt;[&amp;quot;coding&amp;quot;, &amp;quot;dancing&amp;quot;, &amp;quot;baking&amp;quot;]&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;142-whats-the-output&#34;&gt;142. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Bird&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;I&amp;#39;m a bird. 🦢&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Flamingo&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Bird&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;I&amp;#39;m pink. 🌸&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;super&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;pet&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Flamingo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;I&#39;m pink. 🌸&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;I&#39;m pink. 🌸&lt;/code&gt; &lt;code&gt;I&#39;m a bird. 🦢&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;I&#39;m a bird. 🦢&lt;/code&gt; &lt;code&gt;I&#39;m pink. 🌸&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: Nothing, we didn&amp;rsquo;t call any method&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-36&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;We create the variable &lt;code&gt;pet&lt;/code&gt; which is an instance of the &lt;code&gt;Flamingo&lt;/code&gt; class. When we instantiate this instance, the &lt;code&gt;constructor&lt;/code&gt; on &lt;code&gt;Flamingo&lt;/code&gt; gets called. First, &lt;code&gt;&amp;quot;I&#39;m pink. 🌸&amp;quot;&lt;/code&gt; gets logged, after which we call &lt;code&gt;super()&lt;/code&gt;. &lt;code&gt;super()&lt;/code&gt; calls the constructor of the parent class, &lt;code&gt;Bird&lt;/code&gt;. The constructor in &lt;code&gt;Bird&lt;/code&gt; gets called, and logs &lt;code&gt;&amp;quot;I&#39;m a bird. 🦢&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;143-which-of-the-options-results-in-an-error&#34;&gt;143. Which of the options result(s) in an error?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🎄&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🎅🏼&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🎁&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;⭐&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;/* 1 */&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;push&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🦌&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;/* 2 */&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;splice&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;/* 3 */&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🥂&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cm&#34;&gt;/* 4 */&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;emojis&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;length&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: 1&lt;/li&gt;
&lt;li&gt;B: 1 and 2&lt;/li&gt;
&lt;li&gt;C: 3 and 4&lt;/li&gt;
&lt;li&gt;D: 3&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-22&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;const&lt;/code&gt; keyword simply means we cannot &lt;em&gt;redeclare&lt;/em&gt; the value of that variable, it&amp;rsquo;s &lt;em&gt;read-only&lt;/em&gt;. However, the value itself isn&amp;rsquo;t immutable. The properties on the &lt;code&gt;emojis&lt;/code&gt; array can be modified, for example by pushing new values, splicing them, or setting the length of the array to 0.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;144-what-do-we-need-to-add-to-the-person-object-to-get-lydia-hallie-21-as-the-output-of-person&#34;&gt;144. What do we need to add to the &lt;code&gt;person&lt;/code&gt; object to get &lt;code&gt;[&amp;quot;Lydia Hallie&amp;quot;, 21]&lt;/code&gt; as the output of &lt;code&gt;[...person]&lt;/code&gt;?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Lydia Hallie&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;age&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;21&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;person&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// [&amp;#34;Lydia Hallie&amp;#34;, 21]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: Nothing, object are iterable by default&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;*[Symbol.iterator]() { for (let x in this) yield* this[x] }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;*[Symbol.iterator]() { yield* Object.values(this) }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;*[Symbol.iterator]() { for (let x in this) yield this }&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-45&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;Objects aren&amp;rsquo;t iterable by default. An iterable is an iterable if the iterator protocol is present. We can add this manually by adding the iterator symbol &lt;code&gt;[Symbol.iterator]&lt;/code&gt;, which has to return a generator object, for example by making it a generator function &lt;code&gt;*[Symbol.iterator]() {}&lt;/code&gt;. This generator function has to yield the &lt;code&gt;Object.values&lt;/code&gt; of the &lt;code&gt;person&lt;/code&gt; object if we want it to return the array &lt;code&gt;[&amp;quot;Lydia Hallie&amp;quot;, 21]&lt;/code&gt;: &lt;code&gt;yield* Object.values(this)&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;145-whats-the-output&#34;&gt;145. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;count&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;nums&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;nums&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;forEach&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;num&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;count&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: 1&lt;/li&gt;
&lt;li&gt;B: 2&lt;/li&gt;
&lt;li&gt;C: 3&lt;/li&gt;
&lt;li&gt;D: 4&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-46&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;if&lt;/code&gt; condition within the &lt;code&gt;forEach&lt;/code&gt; loop checks whether the value of &lt;code&gt;num&lt;/code&gt; is truthy or falsy. Since the first number in the &lt;code&gt;nums&lt;/code&gt; array is &lt;code&gt;0&lt;/code&gt;, a falsy value, the &lt;code&gt;if&lt;/code&gt; statement&amp;rsquo;s code block won&amp;rsquo;t be executed. &lt;code&gt;count&lt;/code&gt; only gets incremented for the other 3 numbers in the &lt;code&gt;nums&lt;/code&gt; array, &lt;code&gt;1&lt;/code&gt;, &lt;code&gt;2&lt;/code&gt; and &lt;code&gt;3&lt;/code&gt;. Since &lt;code&gt;count&lt;/code&gt; gets incremented by &lt;code&gt;1&lt;/code&gt; 3 times, the value of &lt;code&gt;count&lt;/code&gt; is &lt;code&gt;3&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;146-whats-the-output&#34;&gt;146. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;getFruit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fruits&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fruits&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;?&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;?&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;getFruit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🍊&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🍌&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🍍&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;getFruit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;getFruit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🍍&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🍊&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🍌&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;null&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt;, 🍌&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[]&lt;/code&gt;, &lt;code&gt;null&lt;/code&gt;, 🍌&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[]&lt;/code&gt;, &lt;code&gt;[]&lt;/code&gt;, 🍌&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt;, 🍌&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-23&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;?&lt;/code&gt; allows us to optionally access deeper nested properties within objects. We&amp;rsquo;re trying to log the item on index &lt;code&gt;1&lt;/code&gt; within the subarray that&amp;rsquo;s on index &lt;code&gt;1&lt;/code&gt; of the &lt;code&gt;fruits&lt;/code&gt; array. If the subarray on index &lt;code&gt;1&lt;/code&gt; in the &lt;code&gt;fruits&lt;/code&gt; array doesn&amp;rsquo;t exist, it&amp;rsquo;ll simply return &lt;code&gt;undefined&lt;/code&gt;. If the subarray on index &lt;code&gt;1&lt;/code&gt; in the &lt;code&gt;fruits&lt;/code&gt; array exists, but this subarray doesn&amp;rsquo;t have an item on its &lt;code&gt;1&lt;/code&gt; index, it&amp;rsquo;ll also return &lt;code&gt;undefined&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;First, we&amp;rsquo;re trying to log the second item in the &lt;code&gt;[&#39;🍍&#39;]&lt;/code&gt; subarray of &lt;code&gt;[[&#39;🍊&#39;, &#39;🍌&#39;], [&#39;🍍&#39;]]&lt;/code&gt;. This subarray only contains one item, which means there is no item on index &lt;code&gt;1&lt;/code&gt;, and returns &lt;code&gt;undefined&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Then, we&amp;rsquo;re invoking the &lt;code&gt;getFruits&lt;/code&gt; function without passing a value as an argument, which means that &lt;code&gt;fruits&lt;/code&gt; has a value of &lt;code&gt;undefined&lt;/code&gt; by default. Since we&amp;rsquo;re conditionally chaining the item on index &lt;code&gt;1&lt;/code&gt; of&lt;code&gt;fruits&lt;/code&gt;, it returns &lt;code&gt;undefined&lt;/code&gt; since this item on index &lt;code&gt;1&lt;/code&gt; does not exist.&lt;/p&gt;
&lt;p&gt;Lastly, we&amp;rsquo;re trying to log the second item in the &lt;code&gt;[&#39;🍊&#39;, &#39;🍌&#39;]&lt;/code&gt; subarray of &lt;code&gt;[&#39;🍍&#39;], [&#39;🍊&#39;, &#39;🍌&#39;]&lt;/code&gt;. The item on index &lt;code&gt;1&lt;/code&gt; within this subarray is &lt;code&gt;🍌&lt;/code&gt;, which gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;147-whats-the-output&#34;&gt;147. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Calc&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;constructor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;count&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;increase&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;count&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;calc&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Calc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Calc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;increase&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;calc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-38&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;We set the variable &lt;code&gt;calc&lt;/code&gt; equal to a new instance of the &lt;code&gt;Calc&lt;/code&gt; class. Then, we instantiate a new instance of &lt;code&gt;Calc&lt;/code&gt;, and invoke the &lt;code&gt;increase&lt;/code&gt; method on this instance. Since the count property is within the constructor of the &lt;code&gt;Calc&lt;/code&gt; class, the count property is not shared on the prototype of &lt;code&gt;Calc&lt;/code&gt;. This means that the value of count has not been updated for the instance calc points to, count is still &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;148-whats-the-output&#34;&gt;148. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;e@mail.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;password&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;12345&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;updateUser&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;password&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;nb&#34;&gt;Object&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;assign&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;password&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;password&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;updatedUser&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;updateUser&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;new@email.com&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;updatedUser&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;true&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-37&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;updateUser&lt;/code&gt; function updates the values of the &lt;code&gt;email&lt;/code&gt; and &lt;code&gt;password&lt;/code&gt; properties on user, if their values are passed to the function, after which the function returns the &lt;code&gt;user&lt;/code&gt; object. The returned value of the &lt;code&gt;updateUser&lt;/code&gt; function is the &lt;code&gt;user&lt;/code&gt; object, which means that the value of updatedUser is a reference to the same &lt;code&gt;user&lt;/code&gt; object that &lt;code&gt;user&lt;/code&gt; points to. &lt;code&gt;updatedUser === user&lt;/code&gt; equals &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;149-whats-the-output&#34;&gt;149. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;fruit&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🍌&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🍊&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🍎&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;fruit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;slice&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;fruit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;splice&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;fruit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;unshift&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;🍇&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;fruit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[&#39;🍌&#39;, &#39;🍊&#39;, &#39;🍎&#39;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[&#39;🍊&#39;, &#39;🍎&#39;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[&#39;🍇&#39;, &#39;🍊&#39;, &#39;🍎&#39;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;[&#39;🍇&#39;, &#39;🍌&#39;, &#39;🍊&#39;, &#39;🍎&#39;]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-47&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;First, we invoke the &lt;code&gt;slice&lt;/code&gt; method on the fruit array. The slice method does not modify the original array, but returns the value that it sliced off the array: the banana emoji.
Then, we invoke the &lt;code&gt;splice&lt;/code&gt; method on the fruit array. The splice method does modify the original array, which means that the fruit array now consists of &lt;code&gt;[&#39;🍊&#39;, &#39;🍎&#39;]&lt;/code&gt;.
At last, we invoke the &lt;code&gt;unshift&lt;/code&gt; method on the &lt;code&gt;fruit&lt;/code&gt; array, which modifies the original array by adding the provided value, ‘🍇’ in this case,  as the first element in the array.  The fruit array now consists of &lt;code&gt;[&#39;🍇&#39;, &#39;🍊&#39;, &#39;🍎&#39;]&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;150-whats-the-output&#34;&gt;150. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;animals&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;dog&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;emoji&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🐶&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;cat&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;emoji&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;🐈&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;animals&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;dog&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;dog&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Mara&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;animals&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;cat&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;cat&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Sara&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;animals&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;dog&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{ emoji: &amp;quot;🐶&amp;quot;, name: &amp;quot;Mara&amp;quot; }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{ emoji: &amp;quot;🐈&amp;quot;, name: &amp;quot;Sara&amp;quot; }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-38&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;Object keys are converted to strings.&lt;/p&gt;
&lt;p&gt;Since the value of  &lt;code&gt;dog&lt;/code&gt; is an object,  &lt;code&gt;animals[dog]&lt;/code&gt; actually means that we’re creating a new property called &lt;code&gt;&amp;quot;[object Object]&amp;quot;&lt;/code&gt; equal to the new object. &lt;code&gt;animals[&amp;quot;[object Object]&amp;quot;]&lt;/code&gt; is now equal to &lt;code&gt;{ emoji: &amp;quot;🐶&amp;quot;, name: &amp;quot;Mara&amp;quot;}&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cat&lt;/code&gt; is also an object, which means that &lt;code&gt;animals[cat]&lt;/code&gt; actually means that we’re overwriting the value of  &lt;code&gt;animals[&amp;quot;[object Object]&amp;quot;]&lt;/code&gt; with the new cat properties.&lt;/p&gt;
&lt;p&gt;Logging &lt;code&gt;animals[dog]&lt;/code&gt;, or actually &lt;code&gt;animals[&amp;quot;[object Object]&amp;quot;]&lt;/code&gt; since converting the &lt;code&gt;dog&lt;/code&gt; object to a string results &lt;code&gt;&amp;quot;[object Object]&amp;quot;&lt;/code&gt;, returns the &lt;code&gt;{ emoji: &amp;quot;🐈&amp;quot;, name: &amp;quot;Sara&amp;quot; }&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;151-whats-the-output&#34;&gt;151. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;my@email.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;updateEmail&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;k&#34;&gt;this&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;updateEmail&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;new@email.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;my@email.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;new@email.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;ReferenceError&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-a-39&#34;&gt;Answer: A
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;updateEmail&lt;/code&gt; function is an arrow function, and is not bound to the &lt;code&gt;user&lt;/code&gt; object. This means that the &lt;code&gt;this&lt;/code&gt; keyword is not referring to the &lt;code&gt;user&lt;/code&gt; object, but refers to  the global scope in this case. The value of &lt;code&gt;email&lt;/code&gt; within the &lt;code&gt;user&lt;/code&gt; object does not get updated. When logging the value of &lt;code&gt;user.email&lt;/code&gt;, the original value of &lt;code&gt;my@email.com&lt;/code&gt; gets returned.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;152-whats-the-output&#34;&gt;152. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;promise1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resolve&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;First&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;promise2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resolve&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Second&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;promise3&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;reject&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Third&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;promise4&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;resolve&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Fourth&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;runPromises&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;res1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;all&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;promise1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;promise2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;res2&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;all&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;promise3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;promise4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;res2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;runPromises&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;then&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;catch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;err&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;err&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;[[&#39;First&#39;, &#39;Second&#39;], [&#39;Fourth&#39;]]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;[[&#39;First&#39;, &#39;Second&#39;], [&#39;Third&#39;, &#39;Fourth&#39;]]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;[[&#39;First&#39;, &#39;Second&#39;]]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;&#39;Third&#39;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-d-24&#34;&gt;Answer: D
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;Promise.all&lt;/code&gt; method runs the passed promises in parallel. If one promise fails, the &lt;code&gt;Promise.all&lt;/code&gt; method &lt;em&gt;rejects&lt;/em&gt; with the value of the rejected promise. In this case, &lt;code&gt;promise3&lt;/code&gt; is rejected with the value &lt;code&gt;&amp;quot;Third&amp;quot;&lt;/code&gt;. We’re catching the rejected value in the chained &lt;code&gt;catch&lt;/code&gt; method on the &lt;code&gt;runPromises&lt;/code&gt; invocation to catch any errors  within the &lt;code&gt;runPromises&lt;/code&gt; function. Only &lt;code&gt;&amp;quot;Third&amp;quot;&lt;/code&gt; gets logged, since &lt;code&gt;promise3&lt;/code&gt; is rejected with this value.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;153-what-should-the-value-of-method-be-to-log--name-lydia-age-22-&#34;&gt;153. What should the value of &lt;code&gt;method&lt;/code&gt; be to log &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;, age: 22 }&lt;/code&gt;?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;keys&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;age&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;values&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Lydia&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;method&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;cm&#34;&gt;/* ?? */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Object&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;](&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;keys&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;map&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;_&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;keys&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;values&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}))&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// { name: &amp;#34;Lydia&amp;#34;, age: 22 }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;entries&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;values&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;fromEntries&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;forEach&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-48&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;fromEntries&lt;/code&gt; method turns a 2d array into an object. The first element in each subarray will be the key, and the second element in each subarray will be the value. In this case, we’re mapping over the &lt;code&gt;keys&lt;/code&gt; array, which returns an array that the first element is the item on the key array on the current index, and the second element is the item of the values array on the current index.&lt;/p&gt;
&lt;p&gt;This creates an array of subarrays containing the correct keys and values, which results in &lt;code&gt;{ name: &amp;quot;Lydia&amp;quot;, age: 22 }&lt;/code&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;154-whats-the-output&#34;&gt;154. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;createMember&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;address&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{}})&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;validEmail&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;sr&#34;&gt;/.+\@.+\..+/&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;test&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;validEmail&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;throw&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Valid email pls&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;nx&#34;&gt;address&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;address&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;?&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;address&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;member&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;createMember&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;my@email.com&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;member&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;{ email: &amp;quot;my@email.com&amp;quot;, address: null }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;{ email: &amp;quot;my@email.com&amp;quot; }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;{ email: &amp;quot;my@email.com&amp;quot;, address: {} }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;{ email: &amp;quot;my@email.com&amp;quot;, address: undefined }&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-c-49&#34;&gt;Answer: C
&lt;/h4&gt;&lt;p&gt;The default value of &lt;code&gt;address&lt;/code&gt; is an empty object &lt;code&gt;{}&lt;/code&gt;. When we set the variable &lt;code&gt;member&lt;/code&gt; equal to the object returned by the &lt;code&gt;createMember&lt;/code&gt; function, we didn&amp;rsquo;t pass a value for the address, which means that the value of the address is the default empty object &lt;code&gt;{}&lt;/code&gt;. An empty object is a truthy value, which means that the condition of the &lt;code&gt;address ? address : null&lt;/code&gt; conditional returns &lt;code&gt;true&lt;/code&gt;. The value of the address is the empty object &lt;code&gt;{}&lt;/code&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h6 id=&#34;155-whats-the-output&#34;&gt;155. What&amp;rsquo;s the output?
&lt;/h6&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;let&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;randomValue&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Lydia&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;randomValue&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;23&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;typeof&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;randomValue&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;string&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;It&amp;#39;s not a string!&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Yay it&amp;#39;s a string!&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;A: &lt;code&gt;It&#39;s not a string!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;B: &lt;code&gt;Yay it&#39;s a string!&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;C: &lt;code&gt;TypeError&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;D: &lt;code&gt;undefined&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;&lt;b&gt;Answer&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;
&lt;h4 id=&#34;answer-b-39&#34;&gt;Answer: B
&lt;/h4&gt;&lt;p&gt;The condition within the &lt;code&gt;if&lt;/code&gt; statement checks whether the value of &lt;code&gt;!typeof randomValue&lt;/code&gt; is equal to &lt;code&gt;&amp;quot;string&amp;quot;&lt;/code&gt;. The &lt;code&gt;!&lt;/code&gt; operator converts the value to a boolean value. If the value is truthy, the returned value will be &lt;code&gt;false&lt;/code&gt;, if the value is falsy, the returned value will be &lt;code&gt;true&lt;/code&gt;. In this case, the returned value of &lt;code&gt;typeof randomValue&lt;/code&gt; is the truthy value &lt;code&gt;&amp;quot;number&amp;quot;&lt;/code&gt;, meaning that the value of &lt;code&gt;!typeof randomValue&lt;/code&gt; is the boolean value &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;!typeof randomValue === &amp;quot;string&amp;quot;&lt;/code&gt; always returns false, since we&amp;rsquo;re actually checking &lt;code&gt;false === &amp;quot;string&amp;quot;&lt;/code&gt;. Since the condition returned &lt;code&gt;false&lt;/code&gt;, the code block of the &lt;code&gt;else&lt;/code&gt; statement gets run, and &lt;code&gt;Yay it&#39;s a string!&lt;/code&gt; gets logged.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
</description>
        </item>
        
    </channel>
</rss>
