3.2 KiB
id | title | challengeType | videoUrl | forumTopicId | dashedName |
---|---|---|---|---|---|
56bbb991ad1ed5201cd392d0 | Costruire oggetti in JavaScript | 1 | https://scrimba.com/c/cWGkbtd | 16769 | build-javascript-objects |
--description--
Potresti aver già sentito il termine oggetto (object
).
Gli oggetti sono simili agli array
, tranne per il fatto che invece di utilizzare gli indici per accedere e modificare i loro dati, accedi ad essi tramite le cosiddette proprietà (properties
).
Gli oggetti sono utili per archiviare i dati in modo strutturato e possono rappresentare oggetti del mondo reale, come un gatto.
Ecco un esempio di oggetto gatto (cat):
var cat = {
"name": "Whiskers",
"legs": 4,
"tails": 1,
"enemies": ["Water", "Dogs"]
};
In questo esempio, tutte le proprietà sono memorizzate come stringhe, come name
, legs
e tails
. Per le proprietà puoi anche usare i numeri. Puoi anche omettere le virgolette per le proprietà di tipo stringa di una sola parola, come segue:
var anotherObject = {
make: "Ford",
5: "five",
"model": "focus"
};
Tuttavia, se il tuo oggetto ha proprietà non stringa, JavaScript le convertirà automaticamente in stringhe.
--instructions--
Crea un oggetto che rappresenti un cane chiamato myDog
che contenga le proprietà name
(una stringa), legs
, tails
e friends
.
Puoi impostare queste proprietà dell'oggetto sui valori che desideri, purché name
sia una stringa, legs
e tails
siano numeri e friends
sia un array.
--hints--
myDog
dovrebbe contenere la proprietà name
ed essa dovrebbe essere una string
.
assert(
(function (z) {
if (
z.hasOwnProperty('name') &&
z.name !== undefined &&
typeof z.name === 'string'
) {
return true;
} else {
return false;
}
})(myDog)
);
myDog
dovrebbe contenere la proprietà legs
ed essa dovrebbe essere un number
.
assert(
(function (z) {
if (
z.hasOwnProperty('legs') &&
z.legs !== undefined &&
typeof z.legs === 'number'
) {
return true;
} else {
return false;
}
})(myDog)
);
myDog
dovrebbe contenere la proprietà tails
ed essa dovrebbe essere un number
.
assert(
(function (z) {
if (
z.hasOwnProperty('tails') &&
z.tails !== undefined &&
typeof z.tails === 'number'
) {
return true;
} else {
return false;
}
})(myDog)
);
myDog
dovrebbe contenere la proprietà friends
ed essa dovrebbe essere un array
.
assert(
(function (z) {
if (
z.hasOwnProperty('friends') &&
z.friends !== undefined &&
Array.isArray(z.friends)
) {
return true;
} else {
return false;
}
})(myDog)
);
myDog
dovrebbe contenere solo tutte le proprietà indicate.
assert(
(function (z) {
return Object.keys(z).length === 4;
})(myDog)
);
--seed--
--after-user-code--
(function(z){return z;})(myDog);
--seed-contents--
var myDog = {
// Only change code below this line
// Only change code above this line
};
--solutions--
var myDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};