function _ (_?:): __
function _ (_?: = ""):__
function _ (..._?: ):__
[csharp] function getCarName(manufacturerName: string, model?: string): string { if (model) { return manufacturerName + " " + model; } return manufacturerName; } [/csharp]
[csharp] function numberOperation(x: number, y: number, callback: (a: number, b: number) => number) { return callback(x, y); } function addCallBackNumbers(x: number, y: number): number { return x + y; } function multiplyNumbers(x: number, y: number): number { return x * y; } console.log(numberOperation(5, 5, addCallBackNumbers)); // 10 console.log(numberOperation(5, 5, multiplyNumbers)); // 25 [/csharp]
numberOperation
, we pass two parameters and a function as a callback. [csharp] // 2 function addOvverload(x: string, y: string): string; // 2 int int function addOvverload(x: number, y: number): number; function addOvverload(x, y): any { return x + y; } [/csharp]
Class _ {
;
();
constructor(); }
[csharp] class Car { var mazda = new Car(1, "Mazda", "6"); console.log(mazda.getCarInfo()); class Car { // id: number; name: string; model: string; // , constructor(carId: number, carModel: string, model: string) { this.id = carId; this.name = carModel; this.model = model; } // getCarInfo(): string { return "Car model = " + this.name + " model= " + this.model; } } var mazda = new Car(1, "Mazda", "6"); console.log(mazda.getCarInfo()); [/csharp]
[csharp] class Formula { static PI: number = 3.14; static Half = 0.5; // static getircleSquare(radius: number): number { return this.PI * radius * radius; } // static getTriangleSquare(length: number, height: number): number { return this.Half * length * height; } } // . Formula var circle = Formula.getircleSquare(16); var triangle = Formula.getTriangleSquare(4, 7); console.log(" = " + circle); console.log(" = " + triangle); [/csharp]
extends
. With the help of extends
we can inherit from the base class and describe the classes heirs. [csharp] interface IAnimal { // — name: string; danger: number; getInfo(): void; } class Animal implements IAnimal { // IAnimal name: string; danger: number; constructor(name: string, danger: number) { this.name = name; this.danger = danger; } getInfo(): void { console.log(" . : " + this.name + ", : " + this.danger); } } class Fox extends Animal { tailLength: number; constructor(name: string, danger: number, tailLength: number) { super(name, danger); this.tailLength = tailLength; // super — , // , // . } getInfo(): void { super.getInfo(); console.log(" . : " + this.tailLength + " "); } } var goose: Animal = new Animal("", 1); goose.getInfo(); var fox: Animal = new Fox("", 10, 1); fox.getInfo(); [/csharp]
Interface
keyword is used. [csharp] module InterfaceModule { // IAnimal // . interface IAnimal { name: string; danger: number; getInfo(): string; } class Animal implements IAnimal { name: string; danger: number; constructor(name: string, danger: number) { this.name = name; this.danger = danger; } getInfo(): string { return this.name + " " + this.danger; } } var seal: IAnimal = new Animal("", 1); console.log(seal.getInfo()); } [/csharp]
public
and private
. [csharp] module Encapsulation { class Animal { private _id: string; name: string; danger: number; constructor(name: string, danger: number) { // _id . this._id = this.generateGuid(); this.name = name; this.danger = danger; } private generateGuid(): string { var d = new Date().getTime(); var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = (d + Math.random() * 16) % 16 | 0; d = Math.floor(d / 16); return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16); }); return uuid; } public getInfo(): string { return "Id = " + this._id + " name = " + this.name + " danger = " + this.danger; } } var parrot: Animal = new Animal("", 1); console.log(parrot.getInfo()); [/csharp]
generateGuid()
method. By default, fields and methods have public access.function _(_: ):
Class _
Interface _
[csharp] module GenericModule { function getId<T>(id: T) : T { return id; } // Generic Animal, generic id class Animal<T> { private _id: T; constructor(id: T) { this._id = id; } getId(): T { return this._id; } } var cat = new Animal<number>(16); console.log("Cat id = " + cat.getId()); var dog = new Animal<string>("2327c575-2f7c-46c3-99f2-a267fac1db5d"); console.log("Dog id = " + dog.getId()); } [/csharp]
module
. [csharp] import test = MyTestModule.MyTestClass; module CarModule { // CarModule iCar. export interface ICar { // export , . export, CarModule. id: number; carModel: string; model: string; getCarInfo(): string; } export class Car implements ICar { // Car, ICar id: number; carModel: string; model: string; // , IntelliSence , model constructor(carId: number, carModel: string, model: string) { this.id = carId; this.carModel = carModel; this.model = model; } getCarInfo(): string { var t = new test().getInfo(); return "Car model = " + this.carModel + " model= " + this.model + " " + t; } } } let car = new CarModule.Car(16, "", "2107"); console.log(car.getCarInfo()); [/csharp]
[csharp] /// <reference path="../lib/typings/jquery.d.ts" /> class Cars { private cars: Array<Car> = new Array<Car>(); load(): void { $.getJSON('http://localhost:53923/api/Car', (data) => { this.cars = data; alert(' '); }); } displayUsers(): void { var table = '<table class="table">'; for (var i = 0; i < this.cars.length; i++) { var tableRow = '<tr>' + '<td>' + this.cars[i].id + '</td>' + '<td>' + this.cars[i].name + '</td>' + '<td>' + this.cars[i].model + '</td>' + '</tr>'; table += tableRow; } table += '</table>'; $('#content').html(table); } } window.onload = () => { var cars: Cars = new Cars(); $("#loadBtn").click(() => { cars.load(); }); $("#displayBtn").click(() => { cars.displayUsers(); }); }; [/csharp]
Source: https://habr.com/ru/post/301002/
All Articles