---
title: "Discussion on \"Introduction to Typescript\" | Hashnode"
description: "Discussion on \"Introduction to Typescript\". A quick overview of what Typescript is, features of this powerful language, and how to get started with it."
url: "https://hashnode.com/posts/introduction-to-typescript-1/60533a8ba6c4f710d226acd5"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [Introduction to Typescript](https://sammydtech.hashnode.dev/introduction-to-typescript-1?utm_source=hashnode&utm_medium=feed)

A quick overview of what Typescript is, features of this powerful language, and how to get started with it.

Mar 18, 2021 · 2 min read · sammydtech.hashnode.dev  
Read the article

-   [#javascript](https://hashnode.com/tag/javascript)
-   [#typescript](https://hashnode.com/tag/typescript)

## Written by

[Samuel Opeyemi](https://hashnode.com/@sammydtech)

@sammydtech

  
[View profile](https://hashnode.com/@sammydtech)

To develop secure systems use: @Golang , @rustlang , @php or @rails . If you're stupid like me use @nodejs .

## Responses 1

Markdown supported · ⌘↵ to post

[Dave VanderWeele](https://hashnode.com/@dvanderweele)

[Mar 18, 2021](https://hashnode.com/posts/introduction-to-typescript-1/60533a8ba6c4f710d226acd5/comment/60535da98899a615727e5b78)

I personally prefer to avoid the term "strong" when talking about types.

When people say JavaScript is weakly typed, they're usually talking about 1 of 2 aspects:

1 - types are determined at runtime based on results of expressions, as opposed to explicit declaration ahead of time; in that case, "weak" is a misnomer because really they're talking about duck typing or the dynamic typing. If something is dynamically typed, a compilation process can't determine the type of a variable, so it must be determined during program execution. Static typing works the opposite way. Regardless of when typing is determined, there are still types.

2 - they're talking about the extensive type coercion features javascript has. Can be annoying to grapple with these for newcomers, hence why they're referred to as "weak typing" by devs who may be coming from say Java. But like in number 1, there are still types.

I'd say since TypeScript is a superset of JavaScript that adds optional static typing features, it may be enough to say just that because TypeScript does technically preserve all vanilla JS features.

That was long... sorry lol. But I guess I'm just a nerd and I really like talking about programming language syntax and semantics 🤓.

Cheers 🍻

[Samuel Opeyemi](https://hashnode.com/@sammydtech)

[Mar 18, 2021](https://hashnode.com/posts/introduction-to-typescript-1/60533a8ba6c4f710d226acd5/comment/60535da98899a615727e5b78#reply-605363138899a615727e5c0e)

You're right dave. Going by your second point, as a JavaScript dev, we pride ourselves in being able to do anything in JavaScript rather than having to use another language that's traditionally used for the job (and it's also something a lot of devs hate about the JavaScript community), i.e. Node for back end, React Native for mobile development etc. Devs from strongly typed language are big critique of JavaScript, even now that TypeScript is a thing. Like you said, TypeScript is a superset, so all valid (dynamicly typed) JavaScript is valid TypeScript which makes it something of an intermediate cross of the two rather than a true strongly-typed implementation of JavaScript.

For the newbie, we just have to use it (strong-typed) in better context. That doesn't nullify the fact that all dynamicly typed are valid in ts.
