-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathsolved.js
More file actions
112 lines (102 loc) · 2.36 KB
/
solved.js
File metadata and controls
112 lines (102 loc) · 2.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
function identificarPrimitivos() {
const texto = "hola";
const numero = 42;
const booleano = true;
const nulo = null;
const indefinido = undefined;
const simbolo = Symbol("id");
const grande = 123n;
return {
texto: typeof texto,
numero: typeof numero,
booleano: typeof booleano,
nulo: typeof nulo,
indefinido: typeof indefinido,
simbolo: typeof simbolo,
grande: typeof grande,
};
}
function diferenciarStringNumber(valor) {
return {
tipo: typeof valor,
esString: typeof valor === "string",
esNumber: typeof valor === "number",
};
}
function explorarNull() {
const nulo = null;
return {
valor: nulo,
tipo: typeof nulo,
esNull: nulo === null,
};
}
function compararNullUndefined() {
let sinAsignar;
const vacio = null;
return {
sinAsignar,
vacio,
tipoSinAsignar: typeof sinAsignar,
tipoVacio: typeof vacio,
sonIguales: sinAsignar == vacio,
sonEstrictamenteIguales: sinAsignar === vacio,
};
}
function crearSymbolYBigInt() {
const miSymbol = Symbol("miID");
const miBigInt = 9007199254740991n;
return {
tipoSymbol: typeof miSymbol,
tipoBigInt: typeof miBigInt,
descripcionSymbol: miSymbol.description,
valorBigInt: miBigInt,
};
}
function crearObjeto() {
const persona = { nombre: "Juan", edad: 42, activo: true };
return {
persona,
tipoPersona: typeof persona,
propiedades: Object.keys(persona),
};
}
function trabajarConArreglos() {
const mezcla = [1, "dos", true, null];
return {
arreglo: mezcla,
esArreglo: Array.isArray(mezcla),
largo: mezcla.length,
tipos: mezcla.map((el) => typeof el),
};
}
function funcionComoValor() {
const saludar = function (nombre) {
return `Hola, ${nombre}!`;
};
return {
tipoFuncion: typeof saludar,
resultado: saludar("JavaScript"),
};
}
function clasificarTipo(valor) {
if (valor === null) {
return { valor, tipo: typeof valor, clasificacion: "primitivo" };
}
const tipo = typeof valor;
if (tipo === "object" || tipo === "function") {
return { valor, tipo, clasificacion: "complejo" };
}
return { valor, tipo, clasificacion: "primitivo" };
}
module.exports = {
identificarPrimitivos,
diferenciarStringNumber,
explorarNull,
compararNullUndefined,
crearSymbolYBigInt,
crearObjeto,
trabajarConArreglos,
funcionComoValor,
clasificarTipo,
};