Полное руководство по работе с модулем «tslib» в JavaScript

В этой статье блога мы рассмотрим модуль «tslib» в JavaScript и изучим различные методы и служебные функции, которые он предоставляет. Модуль «tslib» — это библиотека времени выполнения, которая помогает реализовать функции TypeScript в JavaScript. Независимо от того, работаете ли вы с TypeScript или JavaScript, этот модуль может стать ценным дополнением к набору инструментов вашего проекта. Давайте углубимся и рассмотрим различные методы, предлагаемые модулем «tslib», на примерах кода.

  1. extends:
    Метод «
    extends» помогает создать подкласс, расширяющий суперкласс. Он обрабатывает цепочку прототипов и функцию конструктора для наследования. Вот пример:
var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
  1. assign:
    Метод «
    assign» копирует значения всех перечислимых свойств из одного или нескольких исходных объектов в целевой объект. Он похож на метод Object.assign, но оптимизирован по производительности. Вот пример:
var __assign = (this && this.__assign) || function () {
    __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
        }
        return t;
    };
    return __assign.apply(this, arguments);
};
  1. awaiter:
    Метод «
    awaiter» упрощает работу с асинхронным кодом, предоставляя механизм обработки обещаний и синтаксиса async/await в JavaScript. Он преобразует функцию генератора в асинхронную функцию. Вот пример:
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
  1. spread:
    Метод «
    spread» создает новый массив путем объединения нескольких массивов. Он похож на оператор распространения (…), представленный в ECMAScript 6. Вот пример:
var __spread = (this && this.__spread) || function () {
    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
    for (var r = Array(s), k = 0, i = 0; i < il; i++)
        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
            r[k] = a[j];
    return r;
};

Модуль «tslib» предоставляет несколько полезных методов и служебных функций, которые могут улучшить ваш опыт разработки JavaScript. В этой статье мы рассмотрели такие методы, как «extends» для наследования, « assign» для копирования свойств объекта, «awaiter» для обработки асинхронного кода и « spread» для массива. конкатенация. Это всего лишь несколько примеров; Модуль «tslib» предлагает множество других методов и функций, которые вы можете использовать в своих проектах.

Используя возможности модуля «tslib», вы можете писать более чистый и эффективный код JavaScript. Так что давайте, попробуйте и откройте для себя преимущества, которые он предлагает!