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

Изучите типы данных типа – от нуля до героя

Это все ярость в эти дни в мире веб-разработки – TypearctScript. Теперь я стараюсь, вы слышали об этом, даже в прохождении.   Но если у вас нет или если вы просто любопытно, вы пришли в нужное место, мой друг! Я в настоящее время учусь в сочетании

Это все ярости в эти дни в мире веб-разработки – TeampScript Отказ Теперь я стараюсь, вы слышали об этом, даже в прохождении.   Но если у вас нет или если вы просто любопытно, вы пришли в нужное место, мой друг!

В настоящее время учусь в настоящее время в сочетании с угловой (статья на это в работах, поэтому оставаться настроенными!) Потому что это то, что наш веб-приложение встроен на работу. Я решил записать что-то простое и простое, чтобы вы могли встать и работать с типовыми типами данных.

Я сломаю эту статью на два поста для простоты – первый станет краткий обзор того, какой TypeyScript, типы данных и некоторые поддерживающие примеры.   Вторая статья будет сосредоточена на том, чтобы быть установленным в TeampScript и работает на вашем компьютере.

Что это?

Прежде чем начать, вот супер конденсированное описание Tymdercript в моих словах.   Это Superset javaScript – который по существу означает, что это форма JavaScript, которая дает вам определенные преимущества вместе со всеми величием, включенными в «Ванильный» JavaScript.   Это открытый исходный язык, написанный и поддерживаемый Microsoft.

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

Он написан так же, как JavaScript, с несколькими исключениями, которые мы скоро поймем.   Вот пример какой-то типографии:

Постарайтесь не сосредоточиться на всех двоеточиях и дополнительных материалах, которые вы видите выше, мы выпариваем это ниже. Вместо этого сосредоточиться на вещах, которые выделяются – мы просто объявляем переменные со значениями, это строки, массивы и объекты, как и в JavaScript.

Еще одна замечательная вещь, которую я узнал о Skittscript, вы можете смешивать JavaScript с кодом и не имею никаких проблем. Проверьте скриншот ниже (это внутри углового приложения):

Типы данных

Давайте начнем с веселыми материалами – типы данных! (Есть несколько типов данных, которые мы не будем покрывать – никогда, NULL, undefined.   Это просто потому, что для них не много. Я хочу, чтобы вы знали, что они существуют, и если вы хотите больше копаться на этих типах, вот ссылка на официальный Надежная документация для вашей справки.)

TypeScript выводят тип данных, присваиваемых для переменной без вы явно устанавливаю тип, но для простоты и хорошей меры, мне нравится объявлять тип данных при объявлении моих переменных.

Мы назначаем типы данных, просто размещая толстую кишку после имени переменной, но перед равным знаком:

const {имя переменной}: {Тип переменного} = {Решенное значение }

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

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

Логический

Логины в типографии работают так же, как и в JavaScript. Переменные типа Data Boolean объявлены так:

const mybool: ;

Нить

Строки в Teadercript работают так же, как и в JavaScript. Переменные строки типа данных объявлены так:

Пусть MyString:

Число

Числа в типографии работают так же, как и в JavaScript. Переменные номера типа данных объявлены так:

const mynum:;

Множество

Массивы в Teadercript, такие как другие типы данных, такие как массивы в JavaScript. Переменные типа данных массива объявляются двумя отдельными способами:

const myarr: число [] = [12, 90, 71];

Вышеупомянутый путь – это то, как вы объявляете массив, если все элементы внутри этого массива являются номерами.

const myarr: массив <номер> = [12, 90, 71];

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

Если типы данных внутри массива неизвестны или смесь типов данных, массив можно объявить с помощью <Любой> Тип (это тип все на его собственном, который обсуждается ниже):

const myarr: массив <любой> = [12, «Тринадцать», ложь];

Этот способ позволит вам смешивать типы данных в массиве.

Кортежи

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

Переменные типа данных TUPLE объявлены так же, как массив:

Пусть мой: [номер, строка];

Если бы мы хотели бы изменить ценности Из элементов мы можем сделать это, если они соответствуют типам, которые мы предоставили при объявлении нашей переменной:

мой [0] ✔️.

мой [0]

Так как мы определили Мой Как кортеж, порядок значений имеет значение, а также не может быть изменен Кроме того, назначение индекса за пределами исходного определенного номера даст ошибку:

мой [0] = [«Дэйв», 71] ❌.

мой = [121, «Дэйв», «Стив»];

мой = [121, «бекон»]; ✔️.

Функция

Функции могут быть такими же явными, как вы хотите, чтобы они были.   То, что я имею в виду, мы можем применить типы к параметрам и возвращенные значения. Ниже приведены два примера:

Эта функция бросит Ошибка Если какое-либо значение возвращается, это не число.   Это может вернуть переменную только если эта переменная указывает на номер.

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

Если я хочу функцию, которая не должна возвращать значение, я могу установить тип как пустота (тип данных, который означает отсутствие каких-либо данных. Хотя его можно использовать при объявлении переменных, как правило, это не потому, что тогда нам придется установить переменную в нулевой или undefined , Я использовал только тогда, когда функции не должны иметь возвращаемое значение), и если функция возвращает что-нибудь введенное в систему.

Установив тип на пустота Я явна в моем возвращении и установив, что, хотя эта функция все еще может работать, она не должна вернуть ценность. Если он вернет значение, я получу ошибку.

Порицать

Enums являются приветственными (в моем скромном мнениях) дополнение к типам данных. Подумайте о них как о более удобном удобном подходе к тому, что имена к числовым значениям.   Вот пример enum:

Enum Foods {«Bacon», «помидор», «салат»};

Console.log (продукты питания [0])//дают bacon ‘Console.log (Foods.bacon)//дает 0 Console.Log (продукты питания [«Салат»])//Выход 2

Также возможно назначить формат индекса нумерации с помощью Enums. Многие языки, включая C #, имеют enums, и я рад видеть их в JavaScript.

Вы можете быть таким же креативным, как вы хотите с именами.   Вы даже можете изменить числовое представление индексов. Если вы хотите, чтобы ваш первый индекс начнутся в 18 вместо 0, так же просто, как:

пережить продукты, «помидор», «салат»};

Console.log (продукты питания [«BACON»]);//18.

Скажем, у нас была ценность 18, но не уверены в том, что он сопоставлен в нашем Еда Enum, мы также можем проверить это:

console.log (еда [18]);//’бекон’

Одним из употреблений заслуживает внимания, когда мы установили первый индекс для начала 18, следующий индекс будет 19, и поэтому на следующем соглашении о нумерации вы устанавливаете.

Объект

Объекты в Teadercript определяются аналогичными способами, поскольку объекты в JavaScript определены. Мы можем быть как неявными или явными с нашим определением, поскольку нам нравится или как ситуация диктует:

Пусть данные: = {наименование: 'Йонатан', возраст: 30, хобби: [«бежать», «плавание», «кодирование»]}; ✔ ️

Пусть данные: {name: string, возраст: номер, хобби: строка []} = {name: 'jonathan', возраст: 30, хобби: [«бежать», «плавание», «кодирование»]}; ✔ ️

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

Кроме того, мы можем иметь простые объекты, такие как выше, или мы можем определить сложные объекты, которые используют преимущества нескольких типов данных, такие как приведенная ниже (этот объект предназначен только для демонстрации):

Тип псевдонимов/интерфейс

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

Не страх, тип псевдонима и типы интерфейсов здесь, чтобы помочь!   Псевдоним типа – это тип данных, который позволяет нам сохранять другие типы данных внутри него, а затем ссылаться на переменную вместо переписывания кода снова и снова.

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

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

Теперь, когда мы объявили наш псевдоним, пришло время использовать этот псевдоним. Когда мы хотим «строить» нашу новую переменную из этого псевдонима, мы просто устанавливаем его в качестве типа данных:

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

Классы

Классы, в частности, настоящий «хлеб и масло» Tymdercript (по крайней мере, на моем скромном мнениях).   Пребывание с этой идеей новых объектов лесов, классы позволяют нам построить данные гораздо проще, чем просто вручную печатать их каждый раз, когда возникает необходимость.

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

Ниже приведен пример класса в Tymdercript (что ставится возможным благодаря введению классов в ES6):

Теперь вы можете спросить себя, какие различия между класс , а Тип псевдонима и Интерфейс ? Отличный вопрос!   Основное отличие между в том, что классы могут быть созданы (мы можем создавать новые экземпляры их), но интерфейс не может.

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

Союз

Это, далеко и далеко, мой любимый тип данных Tymdescript!   Тип Union позволяет нам объявлять переменную, а затем установить его на «либо» или «значение».   Что я имею в виду под этим Допустим, мы ожидаем, что данные будут переданы в функцию, но мы не уверены, если это строка или номер – это идеальная (и предполагаемая) цель типа Union.

Мы используем один символ трубы (в Windows, это Shift + клавиша вправо выше) при определении типа.   Вот что он будет выглядеть, когда определяя переменную с профсоюзным типом данных:

const numofdoors: строка | нить[ ];

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

Вот пример этой функции, которую я упомянул ранее с использованием типа Union:

Любой

Любой тип, который мы устанавливаем, когда мы не уверены в типов данных, которые мы будем получать.   Может быть, мы получаем что-то от третьей стороны или некоторых динамических данных, и мы не на 100% уверены, что если мы получаем строку, номер или, возможно, массив информации.   Это идеальное использование для типа любой Отказ

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

Тем не менее, этот тип данных имеет его использование, как и все упомянутые типы данных.

Это обертывание!

Я сказал вам, что это не займет слишком долго: D

Я надеюсь, что вам понравилось эту статью о TeampScript и взволнованы о том, как она может оказаться полезными для вашей кодовой базы.   В следующей статье мы выросли на практическую сторону TypeyctScript. Мы перейдем к установке его, компиляции и используя его в вашем проекте (либо не только угловые проекты)!

Это было первоначально опубликовано на мой Блог Отказ

Пока вы там не забудьте подписаться на мой Рассылка – Вы можете сделать это в правом верхнем углу страницы.   Я обещаю, что никогда не спамут свой почтовый ящик, и ваша информация не будет передана с кем угодно/сайт. Мне нравится время от времени отправлять интересные ресурсы, которые я нахожу, статьи о веб-разработке, а также список моих новейших постов.

Если вы еще этого еще не можете связаться со мной в социальных сетях!   Все мои ссылки также находятся в правом верхнем углу этой страницы. Я люблю связываться с другими и встречаться с новыми людьми, так что не боишься сказать привет:)

Удачного дневного друга и счастливого кодирования!

Оригинал: “https://www.freecodecamp.org/news/learn-typescript-data-types-from-zero-to-hero/”