{
  "assessmentTests": {
    "javascript_test": {
      "name": "Ìdánwò JavaScript",
      "desc": "Ìbéèrè 30 nípa àwọn ìtumọ̀ àkọ́kọ́ àti ìdárapọ̀, àwọn iṣẹ́/ìgbìmọ̀/ìdìbò àti èyí, àwọn ohun ìṣe/àkójú àti ìgbìmọ̀ àkọ́ọ́, àti àwọn ìdíwọ̀n ìṣẹ́ àti àwọn ìdíwọ̀n asíkò — ṣàwárí bóyá JavaScript rẹ dọ́gba pẹ̀lú ohun tí ìbéèrè iṣẹ́ túmọ̀ nípa ìmọ̀ JavaScript.",
      "recommendation": "Profaìlì àwọn ọgá JavaScript rẹ",
      "results": {
        "beginner": {
          "name": "Ọ̀gbẹ́ Àkọ́kọ́",
          "desc": "O lè kọ àwọn iṣẹ́ àti àwọn ohun ìṣe tí ó ṣiṣẹ́, ṣùgbọ́n àwọn ìbéèrè tí o padà sílẹ̀ ń dúpẹ̀ nípa ìdárapọ̀ irú àti ìmọ̀ àwọn ohun ìtúkọ̀ dípò ìtumọ̀ — == tí ó ń yí irú àwọn ohun ṣáájú ìfiwéra, àkójú ìgbìmọ̀ tí ó ń pín ohun kan dípò ìdárapọ̀ rẹ̀, kí ló ṣe pé NaN kò dọ́gba pẹ̀lú ara rẹ̀. Kò sí nǹkan nípa ìwà búburú nínú JavaScript; àwọn ìtumọ̀ àkọ́kọ́ wọ̀nyí ni àwọn tí ó ń ṣe ìdáwọ̀ àwọn ènìyàn tí ó kọ́ èdè náà nípa kíkọ́ kóòdù tí ó ṣiṣẹ́ dípò ìkẹ́kọ̀ọ́ bí àwọn iye àti àwọn ohun ìtúkọ̀ ṣe ṣiṣẹ́ dáadáa. Wọ́n ṣe pàtàkì ní iṣẹ́ nítorí pé gbogbo ọ̀kan wọn ni ibi tí kóòdù ń ṣiṣẹ́ láìsí àṣìṣe ṣùgbọ́n ó ṣe ohun tí kò tọ́.",
          "recommendation": "Bẹ̀rẹ̀ pẹ̀lú àwọn ohun mẹ́ta, nípa ìtumọ̀ yìí: kí ló ṣe pé == ń yí irú àwọn ohun ṣáájú ìfiwéra bí === ṣe kò ṣe, kí ló ṣe pé fífi àkójú kan tàbí ohun ìṣe kan sí onígbàjáde tuntun ń dárapọ̀ ohun ìtúkọ̀ dípò iye, àti bí var ṣe ń gba ìgbìmọ̀ àti ìbẹ̀rẹ̀ sí undefined bí let àti const ṣe dúró nínú ìgbìmọ̀ àkókò tí ìkéde wọn ṣiṣẹ́. Ìtọ́sọ́nà JavaScript MDN ń ṣàlàyé gbogbo mẹ́ta pẹ̀lú àwọn àpẹẹrẹ tí a lè ṣiṣẹ́."
        },
        "intermediate": {
          "name": "Àrin-àrin",
          "desc": "O ń ṣe kóòdù ohun ìṣe àgbàlagbà pẹ̀lú ìrọ̀rùn — àwọn iṣẹ́, àwọn ọ̀nà àkójú, ìṣàkópa ìṣẹ́ tí ó rọ̀ — àti kò yóò jẹ́ ìdáwọ̀ nípa iṣẹ́ ìtumọ̀ àgbàlagbà. Ìyatọ̀ láàrin ibí àti Advanced jẹ́ ìpilẹ̀ nínú ohun tí ó ṣẹlẹ̀ nígbà tí àwọn ìtumọ̀ ìgbìmọ̀ àti àkókò JavaScript ṣe ṣe ìdúnádúná: var tí ó ń gba ìgbìmọ̀ nínú àwọn callback ìlọ́ọ̀pù tí gbogbo wọn ń kà iye ìkẹ́yìn kan, this tí ó ní ìfẹ́ láìfọ̀ tí ó ṣe ìtúkọ̀ sí ohun ìṣe nígbà tí a bá yọ ọ́ kúrò nínú rẹ̀, àti dídárapọ̀ tí ó dàbí ìgbìmọ̀ gígùn ṣùgbọ́n ó ṣe dárapọ̀ ìgbìmọ̀ kan nìkan. Àwọn àṣìṣe wọ̀nyí ni àwọn tí ó ń kọjá ìkáwé ìkẹ́kọ̀ọ́ àti ó ṣe ìfihàn nìkan nínú ìṣẹ́ àkókò àkọ́kọ́ kan.",
          "recommendation": "Dojúkọ sí bí ìgbìmọ̀ àti this ṣe ṣàlàyé dáadáa ní àkókò ìpè dípò àkókò ìkéde: kí ló ṣe pé ìlọ́ọ̀pù for tí ó ní var ń fún gbogbo callback iye ìkẹ́yìn kan bí let ṣe kò ṣe, bí this ṣe ṣàyídìrì nípa bí a ṣe pe iṣẹ́ kan dípò ibi tí a ṣe kọ́ rẹ̀, àti kí ló ṣe pé spread tàbí Object.assign ṣe dárapọ̀ ìgbìmọ̀ ìkẹ́kọ̀ọ́ nìkan. Lẹ́yìn náà ìdíwọ̀n ìṣẹ́, nítorí èyí ni ohun tí ó ń ṣe ìdáwọ̀ àwọn ènìyàn tí ó mọ̀ àwọn ìgbìmọ̀ ìgbàjáde ṣoṣo."
        },
        "advanced": {
          "name": "Ìgbìmọ̀ Gígùn",
          "desc": "Èyí ni ìgbìmọ̀ tí ọ̀pọ̀ àwọn ìbéèrè iṣẹ́ túmọ̀ nípa \"JavaScript tí ó lágbára.\" O lè kà ìdìbò filter/map/reduce àti o lè ṣàwárí dáadáa ohun tí ó padà sílẹ̀ láìyí àkójú àkọ́kọ́ rẹ, o mọ̀ kí ló ṣe pé console.log tí ó ní ìfẹ́ láìfọ̀ ń ṣe ìgbéjáde àwọn microtask tí ó ní ìfẹ́ láìfọ̀ ń ṣe ìgbéjáde setTimeout, àti o ń rò fún Promise.all tí o mọ̀ pé ó ń kọ̀ ní ìṣẹ́ àkọ́kọ́ tí ìgbìmọ̀ kan bá kọ̀ dípò ìdìtẹ̀ fún àwọn ìyókù. Ohun tí ó ń yà ìgbìmọ̀ yìí kúrò nínú ìgbìmọ̀ ìkẹ́kọ̀ọ́ jẹ́ ìgbìmọ̀ prototype àti ohun ìṣe-ìgbìmọ̀: bí ìdìbò prototype ṣe ṣàlàyé ìdíwọ̀n ìgbìmọ̀ tí kò sí lórí àpẹẹrẹ ara rẹ̀ dípò hasOwnProperty, àti ohun tí àwọn àgò ìgbìmọ̀ #fields tí ó ní ìfẹ́ láìfọ̀ ṣe ń pa.",
          "recommendation": "Ṣe ìgbìmọ̀ àwọn ìgbìmọ̀ tí ó ń dáàbò ìgbìmọ̀ tí àwọn kóòdù míìrán tún ń ṣe àtúnṣe: bí ìdìbò prototype JavaScript ṣe ṣàlàyé ìdíwọ̀n ìdíwọ̀n tí kò sí lórí àpẹẹrẹ ara rẹ̀, ohun tí àwọn àgò ìgbìmọ̀ #fields ṣe ń pa kúrò nínú ìwọlé ìta, àti bí JSON.stringify ṣe ń ṣe ìyàtọ̀ undefined àti àwọn iṣẹ́ nínú ohun ìṣe àgbàlagbà dípò nínú àkójú. Ìtọ́sọ́nà MDN nípa ìdíwọ̀n ìṣẹ́ àti ìdìbò prototype jẹ́ ìgbìmọ̀ ìkẹ́kọ̀ọ́ tí ó ní ìfẹ́ láìfọ̀ fún méjì."
        },
        "expert": {
          "name": "Ọ̀gbẹ́ Ìgbìmọ̀",
          "desc": "O ṣe àwọn ìbéèrè gbogbo ìgbìmọ̀ ìkẹ́kọ̀ọ́ — ìtumọ̀ àkọ́kọ́, irú àti ìdárapọ̀; àwọn iṣẹ́, ìgbìmọ̀, ìdìbò àti this; àwọn ohun ìṣe, àkójú àti ìgbìmọ̀ àkọ́ọ́; àti asíkò, ìdíwọ̀n ìṣẹ́, prototype àti àwọn ìdíwọ̀n. Dáadáa, èyí túmọ̀ pé o lè ní iṣẹ́ ènìyàn tí a kò mọ̀ àti o lè ṣàlàyé kí ló ṣe pé ó padà sílẹ̀ ohun tí ó padà sílẹ̀, kò ṣe ohun tí ìtumọ̀ sọ pé ó yẹ kó ṣe, èyí ni iṣẹ́ tí ó ní ìdáwọ̀ àti iye tó ga. Ní ìgbìmọ̀ yìí èdè ara rẹ̀ kò ṣe ìdíwọ̀ nígbà púpọ̀; ìdíwọ̀ jẹ́ ìpilẹ̀ asíkò ìṣẹ́ tàbí ìgbìmọ̀ àkọ́ọ́ tí ó wà nínú rẹ̀.",
          "recommendation": "Àwọn ìpadàsìn wà ní ìgbìmọ̀ àti ìṣàwárí: ìrò nípa ìṣẹ́ ìgbéjáde láàrin Promise.all àti Promise.race dípò ìkéde àwọn ìkéde, yíyan nígbà tí ìdìbò jẹ́ ohun ìtúkọ̀ tọ́ fún ìgbìmọ̀ ìta dípò nígbà tí àgò ìgbìmọ̀ jẹ́, àti kíkà àṣìṣe microtask-vs-macrotask nínú àwọn ìlò ìṣẹ́ dáadáa dípò nínú ìdánwò. Tí a ṣe ìwádìí rẹ fún iṣẹ́ kan, ṣàlàyé àṣìṣe àkókò tí o rí — onígbàjáde ìdìbò tí ó ní ìfẹ́ láìfọ̀ tàbí callback asíkò tí kò sí níbi tí ó yẹ — dípò ìkéde àwọn ìgbìmọ̀ JavaScript; ó ṣe ìfihàn ìrò, kò ṣe ìkéde nìkan."
        }
      },
      "questions": [
        {
          "question": "console.log(x);\nvar x = 5;\nKíni tí èyí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "5"
            },
            {
              "icon": "",
              "label": "ReferenceError: x kò ní ìkéde"
            },
            {
              "icon": "",
              "label": "undefined"
            },
            {
              "icon": "",
              "label": "null"
            }
          ]
        },
        {
          "question": "console.log(y);\nlet y = 5;\nKíni ló ṣẹlẹ̀?",
          "options": [
            {
              "icon": "",
              "label": "Ó ju ReferenceError kan"
            },
            {
              "icon": "",
              "label": "Ó ṣe ìfihàn undefined"
            },
            {
              "icon": "",
              "label": "Ó ṣe ìfihàn 5"
            },
            {
              "icon": "",
              "label": "Ó ju SyntaxError"
            }
          ]
        },
        {
          "question": "const arr = [1, 2, 3];\narr.push(4);\nconsole.log(arr.length);\nKíni tí èyí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "4"
            },
            {
              "icon": "",
              "label": "Ó ju TypeError"
            },
            {
              "icon": "",
              "label": "3"
            },
            {
              "icon": "",
              "label": "undefined"
            }
          ]
        },
        {
          "question": "console.log('' == 0);\nconsole.log('' === 0);\nKíni tí àwọn ìlà méjì ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "true lẹ́yìn true"
            },
            {
              "icon": "",
              "label": "false lẹ́yìn false"
            },
            {
              "icon": "",
              "label": "true lẹ́yìn false"
            },
            {
              "icon": "",
              "label": "Ó ju TypeError"
            }
          ]
        },
        {
          "question": "console.log(NaN === NaN);\nconsole.log(Number.isNaN(NaN));\nKíni tí àwọn ìlà méjì ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "true lẹ́yìn true"
            },
            {
              "icon": "",
              "label": "Ó ju TypeError"
            },
            {
              "icon": "",
              "label": "false lẹ́yìn false"
            },
            {
              "icon": "",
              "label": "false lẹ́yìn true"
            }
          ]
        },
        {
          "question": "console.log(typeof null);\nKíni tí èyí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "\"null\""
            },
            {
              "icon": "",
              "label": "\"object\""
            },
            {
              "icon": "",
              "label": "\"undefined\""
            },
            {
              "icon": "",
              "label": "\"boolean\""
            }
          ]
        },
        {
          "question": "Èwo nínú àwọn tí ó tẹ̀lẹ̀ jẹ́ truthy nígbà tí a bá lò ní ìṣẹ́ if?",
          "options": [
            {
              "icon": "",
              "label": "0"
            },
            {
              "icon": "",
              "label": "\"\" (ìlà òfo)"
            },
            {
              "icon": "",
              "label": "null"
            },
            {
              "icon": "",
              "label": "\"0\" (òdo)"
            }
          ]
        },
        {
          "question": "foo();\nfunction foo() { console.log('a'); }\nbar();\nvar bar = function() { console.log('b'); };\nKíni ló ṣẹlẹ̀?",
          "options": [
            {
              "icon": "",
              "label": "Ìpè méjèèjì ṣàfihàn, \"a\" àti lẹ́yìn náà \"b\""
            },
            {
              "icon": "",
              "label": "foo() ṣàfihàn \"a\"; bar() sì ju TypeError"
            },
            {
              "icon": "",
              "label": "foo() àti bar() méjèèjì ju ReferenceError"
            },
            {
              "icon": "",
              "label": "foo() ju ReferenceError; bar() sì ṣàfihàn \"b\""
            }
          ]
        },
        {
          "question": "function makeCounter() {\n  let count = 0;\n  return function() { count++; return count; };\n}\nconst counter = makeCounter();\nconsole.log(counter());\nconsole.log(counter());\nKíni tí àwọn ìlà méjì ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "1 lẹ́yìn 1"
            },
            {
              "icon": "",
              "label": "NaN lẹ́yìn NaN"
            },
            {
              "icon": "",
              "label": "undefined lẹ́yìn undefined"
            },
            {
              "icon": "",
              "label": "1 lẹ́yìn 2"
            }
          ]
        },
        {
          "question": "for (var i = 0; i < 3; i++) {\n  setTimeout(() => console.log(i), 0);\n}\nKíni tí èyí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "0, 1, 2"
            },
            {
              "icon": "",
              "label": "3, 3, 3"
            },
            {
              "icon": "",
              "label": "Ó ju ReferenceError kan"
            },
            {
              "icon": "",
              "label": "undefined, undefined, undefined"
            }
          ]
        },
        {
          "question": "for (let i = 0; i < 3; i++) {\n  setTimeout(() => console.log(i), 0);\n}\nKíni tí èyí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "3, 3, 3"
            },
            {
              "icon": "",
              "label": "Ó ju ReferenceError kan"
            },
            {
              "icon": "",
              "label": "undefined, undefined, undefined"
            },
            {
              "icon": "",
              "label": "0, 1, 2"
            }
          ]
        },
        {
          "question": "function greet() { return `Hi, ${this.name}`; }\nconst person = { name: 'Ana' };\nconsole.log(greet.call(person));\nKíni tí èyí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "\"Hi, Ana\""
            },
            {
              "icon": "",
              "label": "\"Hi, undefined\""
            },
            {
              "icon": "",
              "label": "Ó ju TypeError"
            },
            {
              "icon": "",
              "label": "\"Hi, ${this.name}\""
            }
          ]
        },
        {
          "question": "const timer = {\n  seconds: 0,\n  start: function() {\n    setInterval(() => { this.seconds++; }, 1000);\n  },\n};\nKí ló ṣe pé àwọn ènìyàn ṣe fẹ́ arrow function dípò function() { this.seconds++ } nínú setInterval níbí?",
          "options": [
            {
              "icon": "",
              "label": "Arrow function ń lo this ti start, tí í ṣe timer"
            },
            {
              "icon": "",
              "label": "Arrow function ń ṣiṣẹ́ yára ju function lásán lọ"
            },
            {
              "icon": "",
              "label": "Arrow function ń so this mọ́ global object"
            },
            {
              "icon": "",
              "label": "Arrow function ń sọ this di global variable"
            }
          ]
        },
        {
          "question": "function multiply(a, b) { return a * b; }\nconst double = multiply.bind(null, 2);\nconsole.log(double(5));\nKíni èyí tí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "5"
            },
            {
              "icon": "",
              "label": "10"
            },
            {
              "icon": "",
              "label": "NaN"
            },
            {
              "icon": "",
              "label": "7"
            }
          ]
        },
        {
          "question": "function outer() {\n  let x = 10;\n  function inner() {\n    let x = 20;\n    console.log(x);\n  }\n  inner();\n  console.log(x);\n}\nouter();\nKíni èyí tí àwọn pe console.log méjì yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "20 lẹ́yìn 20"
            },
            {
              "icon": "",
              "label": "20 lẹ́yìn 10"
            },
            {
              "icon": "",
              "label": "10 lẹ́yìn 10"
            },
            {
              "icon": "",
              "label": "Ó ju SyntaxError"
            }
          ]
        },
        {
          "question": "const a = [1, 2, 3];\nconst b = a;\nb.push(4);\nconsole.log(a.length);\nKíni èyí tí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "3"
            },
            {
              "icon": "",
              "label": "undefined"
            },
            {
              "icon": "",
              "label": "Ó ju TypeError"
            },
            {
              "icon": "",
              "label": "4"
            }
          ]
        },
        {
          "question": "const original = { name: 'Ana', tags: ['x', 'y'] };\nconst copy = { ...original };\ncopy.name = 'Bea';\ncopy.tags.push('z');\nconsole.log(original.name, original.tags.length);\nKíni èyí tí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "'Ana' 2"
            },
            {
              "icon": "",
              "label": "'Ana' 3"
            },
            {
              "icon": "",
              "label": "'Bea' 3"
            },
            {
              "icon": "",
              "label": "'Bea' 2"
            }
          ]
        },
        {
          "question": "const { a: x = 10, b: y = 20 } = { a: 5 };\nconsole.log(x, y);\nKíni èyí tí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "undefined undefined"
            },
            {
              "icon": "",
              "label": "5 undefined"
            },
            {
              "icon": "",
              "label": "10 20"
            },
            {
              "icon": "",
              "label": "5 20"
            }
          ]
        },
        {
          "question": "const [first, ...rest] = [1, 2, 3, 4];\nconsole.log(rest);\nKíni èyí tí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "[1, 2, 3, 4]"
            },
            {
              "icon": "",
              "label": "[2, 3, 4]"
            },
            {
              "icon": "",
              "label": "2"
            },
            {
              "icon": "",
              "label": "[1]"
            }
          ]
        },
        {
          "question": "const nums = [10, 1, 2];\nnums.sort();\nconsole.log(nums);\nKíni èyí tí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "[1, 2, 10]"
            },
            {
              "icon": "",
              "label": "[10, 1, 2]"
            },
            {
              "icon": "",
              "label": "[1, 10, 2]"
            },
            {
              "icon": "",
              "label": "[2, 1, 10]"
            }
          ]
        },
        {
          "question": "const user = { profile: { age: 0 } };\nconsole.log(user.profile?.age ?? 'unknown');\nconsole.log(user.address?.city ?? 'unknown');\nKíni èyí tí àwọn ìlà méjì yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "'unknown' lẹ́yìn 'unknown'"
            },
            {
              "icon": "",
              "label": "0 lẹ́yìn 'unknown'"
            },
            {
              "icon": "",
              "label": "0 lẹ́yìn undefined"
            },
            {
              "icon": "",
              "label": "'unknown' lẹ́yìn 0"
            }
          ]
        },
        {
          "question": "const obj = { a: undefined, b: function(){}, c: NaN, d: [undefined, function(){}, 1] };\nconsole.log(JSON.stringify(obj));\nKíni èyí tí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "'{\"a\":null,\"b\":null,\"c\":null,\"d\":[null,null,1]}'"
            },
            {
              "icon": "",
              "label": "'{\"c\":NaN,\"d\":[1]}'"
            },
            {
              "icon": "",
              "label": "'{\"c\":null,\"d\":[null,null,1]}'"
            },
            {
              "icon": "",
              "label": "Ó ju TypeError"
            }
          ]
        },
        {
          "question": "console.log('1');\nsetTimeout(() => console.log('2'), 0);\nPromise.resolve().then(() => console.log('3'));\nconsole.log('4');\nNí ìtẹ́ kíni àwọn èyí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "1, 2, 3, 4"
            },
            {
              "icon": "",
              "label": "1, 4, 2, 3"
            },
            {
              "icon": "",
              "label": "1, 4, 3, 2"
            },
            {
              "icon": "",
              "label": "1, 3, 4, 2"
            }
          ]
        },
        {
          "question": "async function foo() {\n  console.log('a');\n  await null;\n  console.log('b');\n}\nconsole.log('start');\nfoo();\nconsole.log('end');\nNí ìtẹ́ kíni àwọn èyí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "start, a, end, b"
            },
            {
              "icon": "",
              "label": "start, a, b, end"
            },
            {
              "icon": "",
              "label": "start, end, a, b"
            },
            {
              "icon": "",
              "label": "a, start, end, b"
            }
          ]
        },
        {
          "question": "Promise.all([\n  Promise.resolve(1),\n  Promise.reject('err'),\n  Promise.resolve(3),\n]).then(r => console.log('ok', r)).catch(e => console.log('fail', e));\nKíni èyí tí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "'fail err'"
            },
            {
              "icon": "",
              "label": "'ok' [1, 3]"
            },
            {
              "icon": "",
              "label": "'ok' [1, undefined, 3]"
            },
            {
              "icon": "",
              "label": "Ó jù, kò sì sí handler tó ṣiṣẹ́"
            }
          ]
        },
        {
          "question": "const fast = new Promise(res => setTimeout(() => res('fast'), 10));\nconst slow = new Promise(res => setTimeout(() => res('slow'), 100));\nPromise.race([fast, slow]).then(v => console.log(v));\nKíni èyí tí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "'slow'"
            },
            {
              "icon": "",
              "label": "['fast', 'slow']"
            },
            {
              "icon": "",
              "label": "'fast'"
            },
            {
              "icon": "",
              "label": "Ó ju TypeError"
            }
          ]
        },
        {
          "question": "function Animal(name) { this.name = name; }\nAnimal.prototype.speak = function() { return `${this.name} makes a sound`; };\nconst dog = new Animal('Rex');\nconsole.log(dog.speak());\nconsole.log(dog.hasOwnProperty('speak'));\nKíni èyí tí àwọn ìlà méjì yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "'Rex makes a sound' lẹ́yìn true"
            },
            {
              "icon": "",
              "label": "undefined lẹ́yìn false"
            },
            {
              "icon": "",
              "label": "Ó ju TypeError"
            },
            {
              "icon": "",
              "label": "'Rex makes a sound' lẹ́yìn false"
            }
          ]
        },
        {
          "question": "class Counter {\n  #count = 0;\n  increment() { this.#count++; return this.#count; }\n}\nconst c = new Counter();\nconsole.log(c.increment());\nconsole.log(c.count);\nKíni èyí tí àwọn ìlà méjì yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "1 lẹ́yìn undefined"
            },
            {
              "icon": "",
              "label": "1 lẹ́yìn 0"
            },
            {
              "icon": "",
              "label": "1 lẹ́yìn 1"
            },
            {
              "icon": "",
              "label": "Ó ju SyntaxError kan"
            }
          ]
        },
        {
          "question": "const items = ['a', 'b'];\nconst label = `Items: ${items.length > 0 ? items.join(', ') : 'none'}`;\nconsole.log(label);\nKíni èyí tí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "'Items: ${items.length > 0 ? items.join(\\', \\') : \\'none\\'}'"
            },
            {
              "icon": "",
              "label": "'Items: none'"
            },
            {
              "icon": "",
              "label": "'Items: a, b'"
            },
            {
              "icon": "",
              "label": "Ó ju SyntaxError"
            }
          ]
        },
        {
          "question": "const nums = [1, 2, 3, 4, 5];\nconst result = nums.filter(n => n % 2 === 0).map(n => n * 10).reduce((sum, n) => sum + n, 0);\nconsole.log(result, nums);\nKíni èyí tí yìí ṣe ìfihàn?",
          "options": [
            {
              "icon": "",
              "label": "60 [1, 2, 3, 4, 5]"
            },
            {
              "icon": "",
              "label": "60 [2, 4, 20, 40]"
            },
            {
              "icon": "",
              "label": "150 [1, 2, 3, 4, 5]"
            },
            {
              "icon": "",
              "label": "60 [20, 40]"
            }
          ]
        }
      ],
      "optionOrderVersion": "7335aa056fc9d33a"
    }
  },
  "testNames": {
    "javascript-test": "Ìdánwò JavaScript"
  }
}
