<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: 🦾Jack Madden🦾</title>
    <description>The latest articles on DEV Community by 🦾Jack Madden🦾 (@john_madden_13).</description>
    <link>https://dev.to/john_madden_13</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F586420%2F521dfd77-74c8-4ae7-99e7-fd3f2316dcff.png</url>
      <title>DEV Community: 🦾Jack Madden🦾</title>
      <link>https://dev.to/john_madden_13</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/john_madden_13"/>
    <language>en</language>
    <item>
      <title>More on Types in Typescript</title>
      <dc:creator>🦾Jack Madden🦾</dc:creator>
      <pubDate>Tue, 19 Oct 2021 17:44:45 +0000</pubDate>
      <link>https://dev.to/john_madden_13/learning-typescript-part-3-4hb0</link>
      <guid>https://dev.to/john_madden_13/learning-typescript-part-3-4hb0</guid>
      <description>&lt;h3&gt;
  
  
  Hello all!
&lt;/h3&gt;

&lt;p&gt;Welcome back to my Learning Typescript series! Or should I say "our" series? Because we are all pupils to this crazy world of coding and I am just here sharing that growth with everyone. In the past articles, we laid a tremendous foundation. We are going to continue that foundation as we dive a little bit deeper into the knowledge we have gained so far. Read on, and keep keeping on.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                         LETTUCE BEGIN🥬
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnpll9qdtp1hp8e3elxzc.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnpll9qdtp1hp8e3elxzc.jpeg" alt="ts logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  More On Types in Typescript
&lt;/h2&gt;

&lt;p&gt;We have learned about multiple types that are inherited through Javascript in the form of &lt;em&gt;primitive types&lt;/em&gt;. There are some other types that we are going to jump on, as well as learn more about the types we have already seen. &lt;/p&gt;

&lt;h3&gt;
  
  
  Arrays
&lt;/h3&gt;

&lt;p&gt;With some basic programming knowledge, you'll know that an array is a collection of elements enclosed in &lt;code&gt;[ ]&lt;/code&gt; brackets. We set up an Array in TS a few different ways, but mostly as follows:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9pujh8twugnomu8axtl0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9pujh8twugnomu8axtl0.png" alt="arrays"&gt;&lt;/a&gt;&lt;br&gt;
Arrays values can be accessed in some pretty cool ways, the same available in Vanilla JS. Remember that numbering in arrays begins counting at 0. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fla7oaswmycadyfabw2zd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fla7oaswmycadyfabw2zd.png" alt="array 2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, arrays can be pretty useful in storing multiple values, including other variables or arrays, as well as objects. 'Wait, what's an object?' you say. Segway.&lt;/p&gt;

&lt;h3&gt;
  
  
  Objects
&lt;/h3&gt;

&lt;p&gt;Objects are, in a wild way, their own entities with their own properties and type. In JavaScript, the fundamental way that we group and pass around data is through objects. In TypeScript, we represent those through &lt;code&gt;object types&lt;/code&gt;. Objects can be a strange topic, as there is an &lt;code&gt;object&lt;/code&gt;, as well as an &lt;code&gt;Object&lt;/code&gt;. The lowercase &lt;code&gt;object&lt;/code&gt; can be explained as any value that is not a primitive value, while an &lt;code&gt;Object&lt;/code&gt; describes the functionality of all objects. We'll &lt;/p&gt;

&lt;p&gt;A very good analogy I had read said that a cup, that you would drink from, is a good representation of an Object. A cup has color, height, width, material, and so on. Yet, just because you call something a cup doesn't mean they are all the same, even though they have the same properties. An Object allows us to create an element with its own properties that is enclosed in &lt;code&gt;{ }&lt;/code&gt; braces. This is mainly done through &lt;code&gt;interface&lt;/code&gt; or creating our own types, as we learned about previously. Take a look at how we create Objects in a few different ways:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwtq0gwhsmzytls2c3bfb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwtq0gwhsmzytls2c3bfb.png" alt="Object 1"&gt;&lt;/a&gt;&lt;br&gt;
As well as:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbgltqqr7m96si922gdai.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbgltqqr7m96si922gdai.png" alt="create type"&gt;&lt;/a&gt;&lt;br&gt;
And who could forget:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsh4kwp69cf7kqlccn2pg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsh4kwp69cf7kqlccn2pg.png" alt="interface"&gt;&lt;/a&gt;&lt;br&gt;
Notice the question mark after &lt;code&gt;lastName&lt;/code&gt;. This signifies that this input is optional. With a little bit of javascript knowledge, we can see that working with objects and arrays has not changed for us at all. Also good to know, nothing too dramatic has changed for classes and functions as well, other than type annotation. &lt;/p&gt;

&lt;p&gt;Here is where you can &lt;a href="https://www.typescriptlang.org/docs/handbook/classes.html" rel="noopener noreferrer"&gt;read more on classes&lt;/a&gt; and where you can &lt;a href="https://www.typescriptlang.org/docs/handbook/2/functions.html" rel="noopener noreferrer"&gt;read more on functions&lt;/a&gt; for Typescript, as I will most likely not dive too deep into these concepts if they do not differ much from what JS already teaches us. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Sweet! Our groundwork for Typescript is looking like the Taj Mahal's right about now. I hope all of this has been easy to pick up and I would love to know how I could improve on anything in this article in the comments, as I am still learning as well. Much appreciated. &lt;/p&gt;

&lt;p&gt;Next article will deal more with how to refractor Javascript code that you may already have in a project or app with Typescript, as suggested by &lt;a href="https://dev.to/lucsedirae/comment/1ijg2"&gt;Jon Deavers&lt;/a&gt;. Thank you Jon. Thank you and look out for the next submission, don't forget to follow me here and on Twitter! Peace!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>typescript</category>
      <category>javascript</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Beginner Types in Typescript</title>
      <dc:creator>🦾Jack Madden🦾</dc:creator>
      <pubDate>Tue, 05 Oct 2021 23:41:27 +0000</pubDate>
      <link>https://dev.to/john_madden_13/learning-typescript-part-2-l4k</link>
      <guid>https://dev.to/john_madden_13/learning-typescript-part-2-l4k</guid>
      <description>&lt;h3&gt;
  
  
  Hello all!
&lt;/h3&gt;

&lt;p&gt;Welcome to the second insertion to my Learning Typescript series, where I will be learning Typescript and passing on the glorious knowledge. &lt;/p&gt;

&lt;p&gt;While the &lt;a href="https://dev.to/john_madden_13/learning-typescript-part-1-3ll"&gt;last submission&lt;/a&gt; dealt more with what Typescript is and when it is most beneficial to use, this article will deal more with viewing some beginner code to lay some nice groundwork, ya dig?&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                         LETTUCE BEGIN🥬
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzw1pd6pkxy999pdgxysa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzw1pd6pkxy999pdgxysa.png" alt="TS Picture"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Types in Typescript
&lt;/h2&gt;

&lt;p&gt;As mentioned previously, Typescript is a superset of Javascript, so we are able to access JS's primitive types available in JS. &lt;br&gt;
Those types are (in a specific order I will never tell a soul):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;string&lt;/code&gt; - anything enclosed in  ' '  or  " "&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;number&lt;/code&gt; - any number value&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;boolean&lt;/code&gt; - a value of &lt;code&gt;true&lt;/code&gt; or &lt;code&gt;false&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;null&lt;/code&gt; - an absence of value&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;undefined&lt;/code&gt; - when no value is assigned before using variable or object&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since Typescript is so 'type-y', when a variable is declared to have a certain type, this variable can never change its type. It may change its value, but not the initial declared type.&lt;/p&gt;

&lt;p&gt;But hold your horses! What if you create a variable but you don't assign it any value for Typescript to know what it is! Well, in this case, TS brings in its handy &lt;code&gt;any&lt;/code&gt; type, that allows this variable to hold any value, and be changed to any type. However, this goes against what TS is trying to help you with, which is error checking for your types to be used properly. In the case you do not want TS to do this, there is also a &lt;code&gt;noImplicitAny&lt;/code&gt; flag that can put a stop to this. We'll talk about how to do that later, promise:)&lt;/p&gt;

&lt;h2&gt;
  
  
  Declaring Variables
&lt;/h2&gt;

&lt;p&gt;I'm more of a visual learner, so I will put in some graphics below to show everything we have learned so far. But first, we need to talk about how Typescript allows us to declare our variables. &lt;/p&gt;

&lt;h3&gt;
  
  
  Type Annotation
&lt;/h3&gt;

&lt;p&gt;When declaring a variable with &lt;code&gt;const&lt;/code&gt;, &lt;code&gt;let&lt;/code&gt;, or &lt;code&gt;var&lt;/code&gt;, TS gives us the option to declare the type as well, using Type Annotation. Take a look see here meow:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flrxk4fineaafdxyna056.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flrxk4fineaafdxyna056.png" alt="type annotation"&gt;&lt;/a&gt;&lt;br&gt;
This is cool and sometimes useful. From what I see, this looks important only when you want to, or not want to, use &lt;code&gt;any&lt;/code&gt;. Next!&lt;/p&gt;

&lt;h3&gt;
  
  
  Inferred Types
&lt;/h3&gt;

&lt;p&gt;Typescript is also pretty smart and will sometimes just assume it knows what you mean when you set a variable up with a value. That would then look as follows in the picture below that you will now see:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl8dv8x67rdr63gc6ffmp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl8dv8x67rdr63gc6ffmp.png" alt="inferred types"&gt;&lt;/a&gt;&lt;br&gt;
That's a little bit better. I like that way, but there are a couple more to know about.&lt;/p&gt;

&lt;h3&gt;
  
  
  Union Types
&lt;/h3&gt;

&lt;p&gt;Sometimes (and please stop asking me 'when?') we need to have a variable set to multiple types, but not to the &lt;code&gt;any&lt;/code&gt; type. In this case, we would use the Union Type, as such that you are about to look at currently:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1yc7wsjalq49uw96ud43.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1yc7wsjalq49uw96ud43.png" alt="union type"&gt;&lt;/a&gt;&lt;br&gt;
Something to note is that we could use &lt;code&gt;null | undefined&lt;/code&gt;, but TypeScript comes with the &lt;code&gt;strictNullChecks&lt;/code&gt; compiler option which does not allow assigning both to a variable. So not recommended, unless you turn this off. &lt;/p&gt;

&lt;h3&gt;
  
  
  Create Your Own Type
&lt;/h3&gt;

&lt;p&gt;And finally, the last option that we have to declare variables and give them some TYPES. TS also gives us the option to create our own type, using the &lt;code&gt;type&lt;/code&gt; keyword. There are a couple ways to do this, but we'll need to discuss other things first, so let's talk later about that! For now, this is setting a custom type while also using Union Types. Let's get it going and have a read of the thing we're talking about: &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffq6zin9a1jpaigx2tsex.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffq6zin9a1jpaigx2tsex.png" alt="custom type"&gt;&lt;/a&gt;&lt;br&gt;
The &lt;code&gt;drink&lt;/code&gt; type can accept either of the values &lt;code&gt;'water', 'coffee', or 'tea'&lt;/code&gt;. Notice how we use the &lt;code&gt;|&lt;/code&gt; to create a union type. In this case, any variable assigned the type &lt;code&gt;drink&lt;/code&gt; can accept any of the three values. We'll definitely be coming back to this one. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;How wild, we just learned about types in Typescript. What a world. This is a good amount of reading for not too much payout, but I promise we are laying some SICK ground work here. Keep looking out for that third post, as it is going to be one you do not want to miss, my friend. Thank you and look out for the next submission, don't forget to follow me here and on Twitter! Peace!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>typescript</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>What is Typescript and When to Use it?</title>
      <dc:creator>🦾Jack Madden🦾</dc:creator>
      <pubDate>Sat, 02 Oct 2021 16:50:10 +0000</pubDate>
      <link>https://dev.to/john_madden_13/learning-typescript-part-1-3ll</link>
      <guid>https://dev.to/john_madden_13/learning-typescript-part-1-3ll</guid>
      <description>&lt;h3&gt;
  
  
  Hello all!
&lt;/h3&gt;

&lt;p&gt;This is my first post to Dev.to and I am very excited for this to be the beginning of my TypeScript series where I will be documenting what I am learning through Codecademy and Free Code Camp. I will not just be copying and pasting the information, but learning, and bringing it to you in a concise manner. Please enjoy and don't be timid to send me a message of what you think!&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                         LETTUCE BEGIN🥬
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fop3j8sw21rw8vne15d2v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fop3j8sw21rw8vne15d2v.png" alt="TS-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Installing Typescript
&lt;/h2&gt;

&lt;p&gt;Let's get this sucker started on our local machine. We can either install it globally, so it can be used on any project we would like, or install it to a specific project. &lt;/p&gt;

&lt;p&gt;Installing it globally, using npm, would look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g typescript
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To install it to a specific project, we would need to open the terminal, type &lt;code&gt;cd&lt;/code&gt; and then your project's local address. Once in the project, we would install in this way:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install --save-dev typescript 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How TypeScript Works
&lt;/h2&gt;

&lt;p&gt;TypeScript is a superset of Javascript, invented by Microsoft, that adds strong type checking. Hence, the 'type' in TypeScript, I guess. The TS code is taken into a compiler and then translated into JS code, meaning all of the features of JS are available to us, plus the added features of TS. &lt;/p&gt;

&lt;p&gt;Some added features are: &lt;br&gt;
1) Better development-time tooling (the amount of time from work started to work delivered) &lt;/p&gt;

&lt;p&gt;2) Static code analysis (analysis of the code without launching code) &lt;/p&gt;

&lt;p&gt;3) Compile-time type checking (making sure all the types are used as they should be). &lt;/p&gt;

&lt;p&gt;If you are coming into this with some Javascript knowledge, already, then that is preferred because TS sometimes looks roughly the same as JS code! TS files are stored in .ts files, compared to JS files being stored in .js files, so don't get that mixed up, ya hear? &lt;/p&gt;

&lt;h2&gt;
  
  
  When To Use TypeScript
&lt;/h2&gt;

&lt;h4&gt;
  
  
  Large Codebase
&lt;/h4&gt;

&lt;p&gt;When to use a specific language, library, or framework can definitely be tricky. The same goes for TS, as there are many times where it is best to use, but also times where it may not be most practical. From what I gather, TS is getting such a big following in the Javascript community because it cuts down on common errors. However, if your codebase is not going to be large to begin with, there really isn't much reason to convert your JS files to TS, as sometimes it will add about 30% to the total size of the code &lt;/p&gt;

&lt;h4&gt;
  
  
  Accustomed to Type Languages
&lt;/h4&gt;

&lt;p&gt;That's pretty vague and self-explanatory, right? If you or your team wants to use it, then use it. Sure? I can't judge because I had learned React a little while back and now I try to work it into every project I can. &lt;/p&gt;

&lt;p&gt;There are also some other type-strict languages out there that keep the same mindset as TS, such as the C# language. While they are based on much different languages, the same person that created TS also created C#. I guess you could say they have a TYPE 😏.&lt;/p&gt;

&lt;h4&gt;
  
  
  Library or Framework Wants TS
&lt;/h4&gt;

&lt;p&gt;I personally have never ran into this sort of request from a library or framework, but it is definitely not too far out of the ordinary. For TS, Angular 2 seems to be really screaming for the necessity of it. So if you are reading through the documentation of a library or framework and it is begging you to use TS, be my guest. &lt;/p&gt;

&lt;h4&gt;
  
  
  Type Demanding Situations
&lt;/h4&gt;

&lt;p&gt;It makes sense that there would be some situations where having a strict type is crucial for your app or code snippet. One that pops into my mind is anything having to do with forms. If a rascal of a user tries to input a number into a string situation, that can throw a major error or crash your app if not handled properly. TS acts as some sort of gatekeeper in the way that this is one of the first things that it checks for via the compile-time type-checking we had discussed earlier. If you're expecting to be using a good amount of forms, or a type heavy application, then TS might be the best option. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I can not thank you enough for making it to the end of my first insertion to the Learning TypeScript series! While this article was more based on what TS is, and when to use it, the following articles should jump into some sweet, sweet code that we all know and love. Thank you and look out for the next submission, don't forget to follow me here and on Twitter! Peace!&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
