Рубрики
Без рубрики

Изучите Typescript Основы в этом руководстве этого новичка

Tymdercript предпринял мир развития штормом. Неудивительно, что он имеет более 15 миллионов еженедельных загрузки на НПМ. Но что такое Typeycript, а что вам нужно знать об этом? В этой статье я собираюсь ответить на эти вопросы. К концу у вас будет понять

Tymdercript предпринял мир развития штормом. Неудивительно, что он имеет более 15 миллионов еженедельных загрузки на НПМ. Но что такое Typeycript, а что вам нужно знать об этом?

В этой статье я собираюсь ответить на эти вопросы. К концу у вас будет понять следующее:

  • Какой тип TypeScript
  • Основные столбы Tymdercript
  • Основные функции Tymdercript
  • Почему вы должны использовать Skyscript
  • Основы Teamscript, чтобы получить вас начал

Во-первых, давайте обратимся к слоне в комнате.

Что такое Typearcript?

Tymdercript – это язык программирования, созданный и поддерживаемый Microsoft. Это SuperSet javaScript, который добавляет прочную проверку типа и скомпилируется в простой код JavaScript.

Быть суперсетом означает, что Tymdercript имеет все функции JavaScript, а также некоторые дополнительные функции.

Typeyctry поставляется с такими функциями, как лучшая инструментария для разработки, анализ статического кода, проверка типа компиляции и документация на уровне кода.

Не волнуйтесь, если вы не представляете, что кто-то из этого означает. Я объясню все это в этой статье.

Все эти функции, которые поставляются с Tearpcript, делают его идеальным языком программирования для создания крупномасштабных приложений JavaScript.

Основные столбы Tymdercript

TypeScript построен на трех основных столбах – а именно языке, компилятор и языковую службу.

Знайный язык

Это состоит из синтаксиса, ключевых слов и типа аннотаций TypeScript. Sypercript Syntax аналогична, но не совпадает с синтаксисом JavaScript.

Типоприпечатка компилятора

Компилятор отвечает за компиляцию Teamptry Code в JavaScript. На самом деле, что происходит, на самом деле не компиляция, но транспилинг.

Компиляция означает, что исходный код преобразован из читаемого человеком формата в машиночитаемый формат, в то время как транспитальный код преобразует исходный код из одного читаемого человеком формата в другой формат читаемого человеком.

Компилятор Tymdercript также отвечает за стирание любой информации, связанной с типами в скомпилировании.

Типы не допустимые функции в JavaScript. А поскольку Teadercript должен быть скомпилирован на простое JavaScript, что-то, что связано с типами, до того, как он может стать действительным JavaScript, готов к выполнению браузера.

Компилятор TypeScript также выполняет анализ кода. Это выделяет ошибки и предупреждения, если есть причина для этого.

Языковая служба

Языковая служба отвечает за сбор информации о типе из исходного кода.

Эта информация затем может использоваться инструментами разработки для обеспечения IntelliSense, Type Hints и рефакторинга альтернатив.

Основные функции Tymdercript

Тип аннотации в Teadercript

Тип аннотации просто означает присвоение типа к переменной или функции.

const birthdayGreeter = (name: string, age: number): string => {
  return `Happy birthday ${name}, you are now ${age} years old!`;
};

const birthdayHero = "Jane User";
const age = 22;
console.log(birthdayGreeter(birthdayHero, 22));

В приведенном выше примере мы определяем функцию, которая принимает два параметра имя и возраст . Мы назначаем Имя к типу нить возраст к типу количество

Мы также можем назначить типы до возвращаемого значения функции. В этом случае наша функция возвращает значение типа нить

const birthdayGreeter = (name: string, age: number): string => { };
Typescript would yield an error if we passed in arguments of different types than ones we expect

Структурная печатание в Tymdercript

TypeScript – это структурно напечатанный язык, означающий, что если два элемента имеют соответствующие и идентичные функции, то они считаются одинаковым типом.

Введите вывод в Tymdercript

Компилятор TypeScript может попытаться вывести информацию о типе, если нет конкретного назначенного типа. Это означает, что Typeyctry может назначить тип переменной или функции на основе его начальных значений или использование.

Вывод типа обычно происходит при инициализации переменных, установите значения по умолчанию и определите функцию возвратные типы

const platform = 'freeCodeCamp';
const add = (a: number, b: number) => a + b

Переменная платформа в приведенном выше примере присваивается тип Строка Хотя мы не явно не делали так, а возвращаемое значение функции Добавить определяется тип Номер Отказ

Тип стирания в Teadercript

Teamscript удаляет системные конструкции типа во время компиляции:

Вход

let x: someType;

Выход

let x;

ПОЧЕМУ ИСПОЛЬЗУЙТЕ ИСПУСК?

Тип проверки и анализ статического кода

Это уменьшает общие ошибки в вашем коде, потому что TS предупреждает вас при неправильном использовании определенного типа.

Он также уменьшает ошибки времени выполнения и из-за анализа статического кода Tymdercript бросит предупреждения о опечатках и таком. Таким образом, это означает меньше ошибок, которые могут потенциально означать меньшее тестирование.

Тип аннотации могут действовать как документация кода

Тип аннотации помогают нам понять, какой тип аргументов функция ожидает, например, и что он возвращает.

Это делает код более читаемым и облегчает другим и для нас, чтобы понять, что должен делать код.

Еще одним преимуществом TypeScript является то, что IDes может предоставить более конкретные и умные IntelliSense, когда они точно знают, какие типы данных вы обрабатываете.

Как начать с Skyscript

Давайте начнем с установки пакета TeampScript. Здесь у нас есть два варианта: мы можем либо установить его по всему миру, чтобы мы могли использовать его на любом проекте в системе, или мы можем установить его в использовании на конкретном проекте, на котором мы работаем.

Вы можете установить Teamscript во всем мире, запустив эту команду:

npm install -g typescript

Если вы не хотите установить глобально, вы можете просто запустить это:

npm install --save-dev typescript 

В локальной установке TymerctScript устанавливается в качестве зависимости разработки, потому что мы используем его для разработки. Он должен сначала компилировать JavaScript, прежде чем он может быть использован в производстве. Браузер не может выполнить TeampScript.

После установки TeampScript мы должны инициировать новый проект. Вы можете сделать это, запустив следующую команду:

tsc --init

Эта команда инициирует новый tsconfig.json Файл в корневом каталоге проекта. Этот файл Config поставляется со всеми параметрами конфигурации, которые у нас есть для использования Teamscript в проекте.

Все варианты компиляции для конкретного проекта могут быть указаны в файле TSConfig.json под Compileoptions ключ.

Файл поставляется с некоторыми параметрами конфигурации по умолчанию, но вы можете добавить дополнительные параметры в проект по мере необходимости. Вы можете прокомментировать или удалить неиспользуемые варианты компилятора.

Встроенные типы в типографии

Typeyctry поставляется встроенный со всеми примитивными типами в JavaScript Like String, Number и Boolean.

Затем типы могут быть назначены переменным, чтобы указать, какой тип данных должен быть назначен для переменной. Это называется аннотацией типа.

const myName: string = 'Joel';
const myAge: number = 99;

Типрипечатанные аннотации не всегда необходимы, потому что TymerctScript автоматически устанавливает тип переменной на основе его начального значения или использования. Поэтому следующее также будет допустимым кодом TeampStect:

// myName is inferred type 'string'
 const myName = 'Jonathan';

Массивы в типографии

Чтобы указать тип массива, который вы можете использовать синтаксис строка [] или Номер [] Отказ Это эффективно означает «массив строк или массив чисел».

Вы также увидите, что люди используют синтаксис Массив <номер> или Массив что означает то же самое.

Типы профсоюза в Tymdercript

Типы Union позволяют нам определить несколько типов, которые могут быть назначены переменной. Для этого мы используем трубу | Указывать различные типы.

const someValue: number | string = value; 

По умолчанию null |. undefined Может быть назначен на любой переменную, но Tyslycript поставляется с Strithnullchecks Опция компилятора, которая не позволяет назначать как для переменной.

Функции в типографии

Функции также могут получать аннотации типа. Однако с функциями TearmScript они могут получить только указанные параметры. Ни больше ни меньше.

function introduction(name: string, age: number): string {
    return `Hello, my name is ${name} and I'm {age} years old`
}

Параметры функций получают аннотацию нормального типа.

Функции Tearscript также должны указать тип возврата данных. В случае, когда функция ничего не возвращает, мы можем использовать пустота Введите тип возврата данных.

Мы также можем использовать ? Оператор для указания Параметры, которые являются необязательными . В этом случае TypeScript не будет жаловаться, если параметр не будет передан на вызов функции.

Мы также можем назначать значения по умолчанию к параметрам, как мы бы в обычном JavaScript.

const introduction = (name: string, age: number, job?: string = 'developer'): string => `Hello, my name is ${name} and I'm ${age} years old. I work as a ${job}`

Обратите внимание, что в этом примере я использовал JavaScript Функция стрелки Синтаксис и уточняется, что параметр задания является необязательным и присваивается на него значение по умолчанию «Разработчик».

Любой тип в типографии

В Teadercript каждая переменная, тип которой не может быть выведен неявно, становится неявно типом любой Отказ

Любой Обычно это тип дикой карты, который буквально означает «любой тип». Мы также можем явно назначить тип любой к переменной.

Тем не менее, любой Печаги обычно считаются проблематичными.

Typeyctry приходит с NoMplicitalany Опция компилятора, которая поднимает ошибку при назначении типа любой к переменной или выражению.

Как создать свои собственные типы в Typescript

Shotescript предлагает для нас способ определить и использовать наши собственные типы для входов. Здесь мы можем описать точный тип, который приемлем для конкретного ввода.

Мы можем использовать Тип Ключевое слово для определения наших собственных типов.

type Operator = 'multiply' | 'add' | 'divide'; 

Теперь Оператор Тип может принимать либо значения. Обратите внимание, как мы используем или оператор |. создать тип профсоюза. В этом случае любая переменная назначена оператор типа, может принять любую из трех значений.

Пример типографии проект

Давайте теперь будем использовать эти знания для создания простой программы калькулятора. Пользователь может ввести только одну из трех операций – добавить, умножить или разделить. Если вы хотите, найдите минутку и попытайтесь попробовать это, вы вернетесь и следуете.

Надеюсь, вы пробовали это самостоятельно. Затем программа может выглядеть что-то подобное:

type Operation = 'multiply' | 'add' | 'divide';

const calculator = (a: number, b:number, op: Operation): number => {
    switch(op) {
        case 'multiply':
            return a * b;
        case 'add':
            return a + b;
        case 'divide': 
            if (b === 0) return 'Can't divide by 0;
            return a / b;
        default:
        return 'Operation unknow';          
    }
}

Попробуйте прочитать вышеуказанный код и посмотреть, сможете выяснить, что происходит.

Мы также можем создавать пользовательские типы, используя интерфейс ключевое слово. Интерфейсы позволяют нам определить свойство и тип объекта. Интерфейс может иметь возможность расширить другой интерфейс.

interface Employee {
    name: string,
    title: string
}

interface Manager extends Employee {
    meeting: (topic: string) => void
}

Здесь мы определяем работник интерфейса, который имеет два свойства – имя и Название , оба из которых имеют тип Строка Отказ

Затем мы используем этот интерфейс для создания другого интерфейса Менеджер который имеет те же свойства, что и интерфейс сотрудника, но с методом собрания.

С самого начала я упомянул, что Tymdercript – это структурно напечатанный язык. Это означает, что если элемент имеет те же свойства, что и другое, они оба того же типа.

То же самое верно с интерфейсами. Если объект имеет свойства интерфейса, то он имеет тип интерфейса. Такой объект может иметь дополнительные свойства до тех пор, пока некоторые свойства соответствуют интерфейсу.

Теперь мы можем использовать наш определенный интерфейс, такой как:

const newEmployee: Employee = {
    name: 'Joel',
    title: 'FrontEnd Developer'
}

До сих пор мы видели, что мы можем создавать наши собственные типы, используя тип и Интерфейс ключевые слова. Но в чем разница между ними?

Наиболее заметным разницей является то, что определение нескольких интерфейсов с тем же именем приведет к объединенному интерфейсу. С другой стороны, определение нескольких типов с тем же именем приведет к ошибке, указывающей, что имя уже объявлено.

Упаковка

Tymdercript имеет много функций, которые не могут быть просто истощены в этой статье. Я только что выделил несколько функций, которые могут быть полезны для того, чтобы понять, чтобы начать работу с ним.

Вы можете узнать больше о Teamscript, читая Документация Отказ

Если вам понравилась эта статья, подумайте о том, чтобы следовать за мной Twitter или соединение со мной на LinkedIn Отказ Я разделяю содержание о том, что программирование и то, что учусь. Не стесняйтесь связаться.

Оригинал: “https://www.freecodecamp.org/news/learn-typescript-basics/”