From 383da6ebeb92d9c369b4eedd178e790f70ddf62a Mon Sep 17 00:00:00 2001
From: Ilenia <26656284+ilenia-magoni@users.noreply.github.com>
Date: Wed, 10 Sep 2025 16:27:37 +0200
Subject: [PATCH] refactor(curriculum): divide JavaScript objects lecture block
into smaller focused blocks (#61865)
---
client/i18n/locales/english/intro.json | 18 +++++++--
.../index.md | 9 +++++
.../lecture-working-with-json/index.md | 9 +++++
.../lecture-working-with-objects/index.md | 9 -----
.../index.md | 9 +++++
.../67329f737126b75bcb949e13.md | 0
.../6732b721eb98f224868b44a6.md | 0
.../6732b72961f94324bd6390de.md | 0
.../6732b73509f71f24ef05e86e.md | 0
.../6732b73d25cc01251b778043.md | 0
.../6732b749b8aad125523dcda5.md | 0
.../6732b758194c97257d23fc72.md | 0
.../6732b788046862264eeb1c39.md | 0
.../6732b79c6aa77826855a3f11.md | 0
.../6732b76c03f7d825c7fc74ee.md | 0
.../6732b77adf9de12617a2dbb3.md | 0
...vascript-objects-and-their-properties.json | 38 +++++++++++++++++++
.../blocks/lecture-working-with-json.json | 18 +++++++++
...nal-chaining-and-object-destructuring.json | 18 +++++++++
.../superblocks/full-stack-developer.json | 4 +-
20 files changed, 119 insertions(+), 13 deletions(-)
create mode 100644 client/src/pages/learn/full-stack-developer/lecture-introduction-to-javascript-objects-and-their-properties/index.md
create mode 100644 client/src/pages/learn/full-stack-developer/lecture-working-with-json/index.md
delete mode 100644 client/src/pages/learn/full-stack-developer/lecture-working-with-objects/index.md
create mode 100644 client/src/pages/learn/full-stack-developer/lecture-working-with-optional-chaining-and-object-destructuring/index.md
rename curriculum/challenges/english/blocks/{lecture-working-with-objects => lecture-introduction-to-javascript-objects-and-their-properties}/67329f737126b75bcb949e13.md (100%)
rename curriculum/challenges/english/blocks/{lecture-working-with-objects => lecture-introduction-to-javascript-objects-and-their-properties}/6732b721eb98f224868b44a6.md (100%)
rename curriculum/challenges/english/blocks/{lecture-working-with-objects => lecture-introduction-to-javascript-objects-and-their-properties}/6732b72961f94324bd6390de.md (100%)
rename curriculum/challenges/english/blocks/{lecture-working-with-objects => lecture-introduction-to-javascript-objects-and-their-properties}/6732b73509f71f24ef05e86e.md (100%)
rename curriculum/challenges/english/blocks/{lecture-working-with-objects => lecture-introduction-to-javascript-objects-and-their-properties}/6732b73d25cc01251b778043.md (100%)
rename curriculum/challenges/english/blocks/{lecture-working-with-objects => lecture-introduction-to-javascript-objects-and-their-properties}/6732b749b8aad125523dcda5.md (100%)
rename curriculum/challenges/english/blocks/{lecture-working-with-objects => lecture-introduction-to-javascript-objects-and-their-properties}/6732b758194c97257d23fc72.md (100%)
rename curriculum/challenges/english/blocks/{lecture-working-with-objects => lecture-working-with-json}/6732b788046862264eeb1c39.md (100%)
rename curriculum/challenges/english/blocks/{lecture-working-with-objects => lecture-working-with-json}/6732b79c6aa77826855a3f11.md (100%)
rename curriculum/challenges/english/blocks/{lecture-working-with-objects => lecture-working-with-optional-chaining-and-object-destructuring}/6732b76c03f7d825c7fc74ee.md (100%)
rename curriculum/challenges/english/blocks/{lecture-working-with-objects => lecture-working-with-optional-chaining-and-object-destructuring}/6732b77adf9de12617a2dbb3.md (100%)
create mode 100644 curriculum/structure/blocks/lecture-introduction-to-javascript-objects-and-their-properties.json
create mode 100644 curriculum/structure/blocks/lecture-working-with-json.json
create mode 100644 curriculum/structure/blocks/lecture-working-with-optional-chaining-and-object-destructuring.json
diff --git a/client/i18n/locales/english/intro.json b/client/i18n/locales/english/intro.json
index c625a843e48..4e299ebb8cf 100644
--- a/client/i18n/locales/english/intro.json
+++ b/client/i18n/locales/english/intro.json
@@ -3254,10 +3254,22 @@
"title": "JavaScript Arrays Quiz",
"intro": ["Test your knowledge of JavaScript arrays with this quiz."]
},
- "lecture-working-with-objects": {
- "title": "Working with Objects",
+ "lecture-introduction-to-javascript-objects-and-their-properties": {
+ "title": "Introduction to JavaScript Objects and Their Properties",
"intro": [
- "In these lectures, you will learn how to work with JavaScript objects. The concepts you will learn include how to access properties from an object, check if an object has a property, how object methods differ from functions, object destructuring, and much more."
+ "In these lectures, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types."
+ ]
+ },
+ "lecture-working-with-optional-chaining-and-object-destructuring": {
+ "title": "Working with Optional Chaining and Object Destructuring",
+ "intro": [
+ "In these lectures, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax."
+ ]
+ },
+ "lecture-working-with-json": {
+ "title": "Working with JSON",
+ "intro": [
+ "In these lectures, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the JSON.parse() and JSON.stringify() methods."
]
},
"workshop-recipe-tracker": {
diff --git a/client/src/pages/learn/full-stack-developer/lecture-introduction-to-javascript-objects-and-their-properties/index.md b/client/src/pages/learn/full-stack-developer/lecture-introduction-to-javascript-objects-and-their-properties/index.md
new file mode 100644
index 00000000000..4c39229f3c2
--- /dev/null
+++ b/client/src/pages/learn/full-stack-developer/lecture-introduction-to-javascript-objects-and-their-properties/index.md
@@ -0,0 +1,9 @@
+---
+title: Introduction to JavaScript Objects and Their Properties
+block: lecture-introduction-to-javascript-objects-and-their-properties
+superBlock: full-stack-developer
+---
+
+## Introduction to JavaScript Objects and Their Properties
+
+In these lecture videos, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types.
diff --git a/client/src/pages/learn/full-stack-developer/lecture-working-with-json/index.md b/client/src/pages/learn/full-stack-developer/lecture-working-with-json/index.md
new file mode 100644
index 00000000000..fdc23e083ae
--- /dev/null
+++ b/client/src/pages/learn/full-stack-developer/lecture-working-with-json/index.md
@@ -0,0 +1,9 @@
+---
+title: Working with JSON
+block: lecture-working-with-json
+superBlock: full-stack-developer
+---
+
+## Working with JSON
+
+In these lecture videos, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the `JSON.parse()` and `JSON.stringify()` methods.
diff --git a/client/src/pages/learn/full-stack-developer/lecture-working-with-objects/index.md b/client/src/pages/learn/full-stack-developer/lecture-working-with-objects/index.md
deleted file mode 100644
index a50988e3aa6..00000000000
--- a/client/src/pages/learn/full-stack-developer/lecture-working-with-objects/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: Introduction to Working with Objects
-block: lecture-working-with-objects
-superBlock: full-stack-developer
----
-
-## Introduction to Working with Objects
-
-In these lecture videos, you will learn about working with objects in JavaScript.
diff --git a/client/src/pages/learn/full-stack-developer/lecture-working-with-optional-chaining-and-object-destructuring/index.md b/client/src/pages/learn/full-stack-developer/lecture-working-with-optional-chaining-and-object-destructuring/index.md
new file mode 100644
index 00000000000..fa646024c11
--- /dev/null
+++ b/client/src/pages/learn/full-stack-developer/lecture-working-with-optional-chaining-and-object-destructuring/index.md
@@ -0,0 +1,9 @@
+---
+title: Working with Optional Chaining and Object Destructuring
+block: lecture-working-with-optional-chaining-and-object-destructuring
+superBlock: full-stack-developer
+---
+
+## Working with Optional Chaining and Object Destructuring
+
+In these lecture videos, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax.
diff --git a/curriculum/challenges/english/blocks/lecture-working-with-objects/67329f737126b75bcb949e13.md b/curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/67329f737126b75bcb949e13.md
similarity index 100%
rename from curriculum/challenges/english/blocks/lecture-working-with-objects/67329f737126b75bcb949e13.md
rename to curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/67329f737126b75bcb949e13.md
diff --git a/curriculum/challenges/english/blocks/lecture-working-with-objects/6732b721eb98f224868b44a6.md b/curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/6732b721eb98f224868b44a6.md
similarity index 100%
rename from curriculum/challenges/english/blocks/lecture-working-with-objects/6732b721eb98f224868b44a6.md
rename to curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/6732b721eb98f224868b44a6.md
diff --git a/curriculum/challenges/english/blocks/lecture-working-with-objects/6732b72961f94324bd6390de.md b/curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/6732b72961f94324bd6390de.md
similarity index 100%
rename from curriculum/challenges/english/blocks/lecture-working-with-objects/6732b72961f94324bd6390de.md
rename to curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/6732b72961f94324bd6390de.md
diff --git a/curriculum/challenges/english/blocks/lecture-working-with-objects/6732b73509f71f24ef05e86e.md b/curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/6732b73509f71f24ef05e86e.md
similarity index 100%
rename from curriculum/challenges/english/blocks/lecture-working-with-objects/6732b73509f71f24ef05e86e.md
rename to curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/6732b73509f71f24ef05e86e.md
diff --git a/curriculum/challenges/english/blocks/lecture-working-with-objects/6732b73d25cc01251b778043.md b/curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/6732b73d25cc01251b778043.md
similarity index 100%
rename from curriculum/challenges/english/blocks/lecture-working-with-objects/6732b73d25cc01251b778043.md
rename to curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/6732b73d25cc01251b778043.md
diff --git a/curriculum/challenges/english/blocks/lecture-working-with-objects/6732b749b8aad125523dcda5.md b/curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/6732b749b8aad125523dcda5.md
similarity index 100%
rename from curriculum/challenges/english/blocks/lecture-working-with-objects/6732b749b8aad125523dcda5.md
rename to curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/6732b749b8aad125523dcda5.md
diff --git a/curriculum/challenges/english/blocks/lecture-working-with-objects/6732b758194c97257d23fc72.md b/curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/6732b758194c97257d23fc72.md
similarity index 100%
rename from curriculum/challenges/english/blocks/lecture-working-with-objects/6732b758194c97257d23fc72.md
rename to curriculum/challenges/english/blocks/lecture-introduction-to-javascript-objects-and-their-properties/6732b758194c97257d23fc72.md
diff --git a/curriculum/challenges/english/blocks/lecture-working-with-objects/6732b788046862264eeb1c39.md b/curriculum/challenges/english/blocks/lecture-working-with-json/6732b788046862264eeb1c39.md
similarity index 100%
rename from curriculum/challenges/english/blocks/lecture-working-with-objects/6732b788046862264eeb1c39.md
rename to curriculum/challenges/english/blocks/lecture-working-with-json/6732b788046862264eeb1c39.md
diff --git a/curriculum/challenges/english/blocks/lecture-working-with-objects/6732b79c6aa77826855a3f11.md b/curriculum/challenges/english/blocks/lecture-working-with-json/6732b79c6aa77826855a3f11.md
similarity index 100%
rename from curriculum/challenges/english/blocks/lecture-working-with-objects/6732b79c6aa77826855a3f11.md
rename to curriculum/challenges/english/blocks/lecture-working-with-json/6732b79c6aa77826855a3f11.md
diff --git a/curriculum/challenges/english/blocks/lecture-working-with-objects/6732b76c03f7d825c7fc74ee.md b/curriculum/challenges/english/blocks/lecture-working-with-optional-chaining-and-object-destructuring/6732b76c03f7d825c7fc74ee.md
similarity index 100%
rename from curriculum/challenges/english/blocks/lecture-working-with-objects/6732b76c03f7d825c7fc74ee.md
rename to curriculum/challenges/english/blocks/lecture-working-with-optional-chaining-and-object-destructuring/6732b76c03f7d825c7fc74ee.md
diff --git a/curriculum/challenges/english/blocks/lecture-working-with-objects/6732b77adf9de12617a2dbb3.md b/curriculum/challenges/english/blocks/lecture-working-with-optional-chaining-and-object-destructuring/6732b77adf9de12617a2dbb3.md
similarity index 100%
rename from curriculum/challenges/english/blocks/lecture-working-with-objects/6732b77adf9de12617a2dbb3.md
rename to curriculum/challenges/english/blocks/lecture-working-with-optional-chaining-and-object-destructuring/6732b77adf9de12617a2dbb3.md
diff --git a/curriculum/structure/blocks/lecture-introduction-to-javascript-objects-and-their-properties.json b/curriculum/structure/blocks/lecture-introduction-to-javascript-objects-and-their-properties.json
new file mode 100644
index 00000000000..56523280f99
--- /dev/null
+++ b/curriculum/structure/blocks/lecture-introduction-to-javascript-objects-and-their-properties.json
@@ -0,0 +1,38 @@
+{
+ "name": "Introduction to JavaScript Objects and Their Properties",
+ "blockType": "lecture",
+ "blockLayout": "challenge-list",
+ "isUpcomingChange": false,
+ "dashedName": "lecture-introduction-to-javascript-objects-and-their-properties",
+ "challengeOrder": [
+ {
+ "id": "67329f737126b75bcb949e13",
+ "title": "What Is an Object in JavaScript, and How Can You Access Properties from an Object?"
+ },
+ {
+ "id": "6732b721eb98f224868b44a6",
+ "title": "How Can You Remove Properties from an Object?"
+ },
+ {
+ "id": "6732b72961f94324bd6390de",
+ "title": "How to Check If an Object Has a Property?"
+ },
+ {
+ "id": "6732b73509f71f24ef05e86e",
+ "title": "How Do You Work with Accessing Properties from Nested Objects and Arrays in Objects?"
+ },
+ {
+ "id": "6732b73d25cc01251b778043",
+ "title": "What Is the Difference Between Primitive and Non-Primitive Data Types?"
+ },
+ {
+ "id": "6732b749b8aad125523dcda5",
+ "title": "What Is the Difference Between Functions and Object Methods?"
+ },
+ {
+ "id": "6732b758194c97257d23fc72",
+ "title": "What Is the Object() Constructor, and When Should You Use It?"
+ }
+ ],
+ "helpCategory": "JavaScript"
+}
diff --git a/curriculum/structure/blocks/lecture-working-with-json.json b/curriculum/structure/blocks/lecture-working-with-json.json
new file mode 100644
index 00000000000..136f0769cfa
--- /dev/null
+++ b/curriculum/structure/blocks/lecture-working-with-json.json
@@ -0,0 +1,18 @@
+{
+ "name": "Working with JSON",
+ "blockType": "lecture",
+ "blockLayout": "challenge-list",
+ "isUpcomingChange": false,
+ "dashedName": "lecture-working-with-json",
+ "challengeOrder": [
+ {
+ "id": "6732b788046862264eeb1c39",
+ "title": "What Is JSON, and How Do You Access Values Using Bracket and Dot Notation?"
+ },
+ {
+ "id": "6732b79c6aa77826855a3f11",
+ "title": "How Do JSON.parse() and JSON.stringify() Work?"
+ }
+ ],
+ "helpCategory": "JavaScript"
+}
diff --git a/curriculum/structure/blocks/lecture-working-with-optional-chaining-and-object-destructuring.json b/curriculum/structure/blocks/lecture-working-with-optional-chaining-and-object-destructuring.json
new file mode 100644
index 00000000000..cf16bff28a4
--- /dev/null
+++ b/curriculum/structure/blocks/lecture-working-with-optional-chaining-and-object-destructuring.json
@@ -0,0 +1,18 @@
+{
+ "name": "Working with Optional Chaining and Object Destructuring",
+ "blockType": "lecture",
+ "blockLayout": "challenge-list",
+ "isUpcomingChange": false,
+ "dashedName": "lecture-working-with-optional-chaining-and-object-destructuring",
+ "challengeOrder": [
+ {
+ "id": "6732b76c03f7d825c7fc74ee",
+ "title": "What Is the Optional Chaining Operator, and How Does It Work?"
+ },
+ {
+ "id": "6732b77adf9de12617a2dbb3",
+ "title": "What Is Object Destructuring, and How Does It Work?"
+ }
+ ],
+ "helpCategory": "JavaScript"
+}
diff --git a/curriculum/structure/superblocks/full-stack-developer.json b/curriculum/structure/superblocks/full-stack-developer.json
index 2e4258464d3..43ef817f12d 100644
--- a/curriculum/structure/superblocks/full-stack-developer.json
+++ b/curriculum/structure/superblocks/full-stack-developer.json
@@ -342,7 +342,9 @@
{
"dashedName": "javascript-objects",
"blocks": [
- "lecture-working-with-objects",
+ "lecture-introduction-to-javascript-objects-and-their-properties",
+ "lecture-working-with-json",
+ "lecture-working-with-optional-chaining-and-object-destructuring",
"workshop-recipe-tracker",
"lab-quiz-game",
"lab-record-collection",