Files
classroomio/apps/dashboard/src/lib/mocks/js/012_js_objects.ts
T
Rotimi Best 41e29014ef feat: 🚀 😃 convert repo into a monorepo 🚀 😃 (#51)
* Merge main into turbo-monrepo

* feat: rename apps

* feat: remove supbase videos and serve all from project

* feat: move supabase to root

* feat: update README

* docs: update link
2023-11-25 21:56:02 +00:00

225 lines
5.6 KiB
TypeScript

import { QuestionTypes } from '../utils';
import type { ExerciseTemplate } from '$lib/utils/types';
const template: ExerciseTemplate = {
title: 'JavaScript Objects Quiz',
description: 'Test your knowledge of JavaScript objects.',
questionnaire: {
questions: [
{
title: 'What is an object in JavaScript?',
name: 'q1',
points: 1,
order: 1,
question_type: QuestionTypes[0], // RADIO type
options: [
{
label: 'A data type that holds a single value',
is_correct: false
},
{
label: 'A collection of key-value pairs',
is_correct: true
},
{
label: 'A loop in JavaScript',
is_correct: false
}
]
},
{
title: 'How do you create an empty object in JavaScript?',
name: 'q2',
points: 1,
order: 2,
question_type: QuestionTypes[0], // RADIO type
options: [
{
label: 'object()',
is_correct: false
},
{
label: '{}',
is_correct: true
},
{
label: 'new Object()',
is_correct: false
}
]
},
{
title: 'What is the syntax for accessing an object property?',
name: 'q3',
points: 1,
order: 3,
question_type: QuestionTypes[0], // RADIO type
options: [
{
label: 'object.property',
is_correct: true
},
{
label: 'object->property',
is_correct: false
},
{
label: 'object[property]',
is_correct: false
}
]
},
{
title: 'How do you add a new property to an existing object in JavaScript?',
name: 'q4',
points: 1,
order: 4,
question_type: QuestionTypes[0], // RADIO type
options: [
{
label: 'object.newProperty = value;',
is_correct: true
},
{
label: 'object.addProperty(value);',
is_correct: false
},
{
label: 'object[propertyName] = value;',
is_correct: false
}
]
},
{
title: 'Which of the following is a valid way to remove a property from an object?',
name: 'q5',
points: 1,
order: 5,
question_type: QuestionTypes[0], // RADIO type
options: [
{
label: 'delete object.propertyName;',
is_correct: true
},
{
label: 'object.removeProperty(propertyName);',
is_correct: false
},
{
label: 'object.propertyName = null;',
is_correct: false
}
]
},
{
title: 'What is a JavaScript constructor function used for?',
name: 'q6',
points: 1,
order: 6,
question_type: QuestionTypes[0], // RADIO type
options: [
{
label: 'To define methods for an object',
is_correct: false
},
{
label: 'To create multiple objects with the same structure',
is_correct: true
},
{
label: 'To perform mathematical calculations',
is_correct: false
}
]
},
{
title: 'How do you access the number of properties in an object?',
name: 'q7',
points: 1,
order: 7,
question_type: QuestionTypes[0], // RADIO type
options: [
{
label: 'object.length',
is_correct: false
},
{
label: 'object.size()',
is_correct: false
},
{
label: 'Object.keys(object).length',
is_correct: true
}
]
},
{
title: 'What is the purpose of the "this" keyword in an object method?',
name: 'q8',
points: 1,
order: 8,
question_type: QuestionTypes[0], // RADIO type
options: [
{
label: 'To refer to the next object in the chain',
is_correct: false
},
{
label: 'To refer to the current object that the method belongs to',
is_correct: true
},
{
label: 'To access global variables',
is_correct: false
}
]
},
{
title: 'Which of the following is a valid way to create an object method?',
name: 'q9',
points: 1,
order: 9,
question_type: QuestionTypes[0], // RADIO type
options: [
{
label: 'function myMethod() {}',
is_correct: false
},
{
label: 'const myMethod = function() {};',
is_correct: true
},
{
label: 'myMethod: function() {}',
is_correct: false
}
]
},
{
title: 'How do you access the value of a nested object property?',
name: 'q10',
points: 1,
order: 10,
question_type: QuestionTypes[0], // RADIO type
options: [
{
label: 'object.nestedProperty',
is_correct: true
},
{
label: 'object->nestedProperty',
is_correct: false
},
{
label: 'object[nestedProperty]',
is_correct: false
}
]
}
]
}
};
export default template;