-
Notifications
You must be signed in to change notification settings - Fork 0
/
instancOf-TypeOf.js
55 lines (41 loc) · 1.42 KB
/
instancOf-TypeOf.js
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
class Persona{
constructor(info){
this.info = info;
}
decirNombre(){
if (this._info.nombre){
return() => {
console.log(`Mi nombre es ${this._info.nombre}`);
}
}
}
decirDireccion(){
if(this._info.direcion){
return() => {
console.log(`Mi dirección es ${this._info.direcion}`);
}
}
}
}
function Perro(){
Perro.prototype.ladra = function(){
return "guau guau guau"
}
}
let persona = new Persona({});
let mascota = new Perro();
let nombre = "Eleonor";
// hay 2 operadores que nos permiten averiguar el tipo de clase o tipo de dato de un objeto o una variable
// instanceof - nos permite averiguar si un objeto es la instancia de una clase
// instanceof - debe ser utilizado solo con objetos y no con valores o variables primitivos
console.log(mascota instanceof Perro);
console.log(persona instanceof Persona);
//Quiero saber si nombre es la instancia de un String.
//Debido a que "" es una primitiva instanceof dispara error ya que lo que tenemos del lado der "no es un objeto"
//console.log(nombre instanceof "");
// typeof - nos permite saber que tipo de dato es un objeto o una variable, se puede utilizar para cualquier tipo de var
console.log(typeof nombre);
console.log(typeof persona);
console.log(typeof mascota);
console.log(typeof Perro);
console.log(typeof Persona);