Clases en JS y TS

https://www.w3schools.com/js/js_class_intro.asp

https://code.tutsplus.com/tutorials/typescript-for-beginners-part-4-classes–cms-29565

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
// Definición de la clase. En este caso definimos como tiene que ser una 'Person'
// Pero la clase NO ES una 'Person'
 
class Person {
    name: string;
    constructor(theName: string) {
        this.name = theName;
    }
    introduceSelf() {
        console.log("Hi, I am " + this.name + "!");
    }
}
 
// Para crear objetos de la clase 'Person' debemos usar 'new'
// Instanciar una clase. Al usar new estamos llamando al método reservado 'constructor'
let anna:Person=new Person('Anna');
 
// ¿Qué valor tiene el name de anna? 'Anna'
 
anna.introduceSelf()
console.log(anna.name)
 
let john:Person=new Person('John Pi')
 
john.introduceSelf()
 
class Simple {
    a:string='a'
    b:string='b'
}
 
let foo:Simple=new Simple()
 
class Producto {
    nombre:string
    precio:number
    constructor(nombreProd:string,precioProd:number){
        this.nombre=nombreProd;
        this.precio=precioProd
    }
    precioConIva(){
        return this.precio*1.21
    }
}
 
let botijo:Producto=new Producto('Botijo',100)
let gaita:Producto=new Producto('Gaita',150)
 
console.log(botijo.precioConIva())
console.log(gaita.precioConIva())

¿Seríais capaces de añadir a Producto una función precioConDescuento que nos devuelva el precio con un 10% de descuento? ¡Seguro que sí!

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos