DEV Community

loading...
Cover image for Clarification of Typescript and JavaScript with respect to the mathematical term Set

Clarification of Typescript and JavaScript with respect to the mathematical term Set

Emmanuel Onah
Frontend Architect
・2 min read

Hello Js Community,

Today we will be going theoretical and mathematical. It's quite unfortunate of how the downgrading/explanation of JavaScript has become since the release of Typescript due to the misinterpretation of the major keyword in Typescript definition "SUPERSET".

Table of Content

1. Mathematical Set
2. Mathematical SuperSet
3. Mathematical SubSet
4. Javascript as a SubSet
5. Typescript as a SuperSet
Enter fullscreen mode Exit fullscreen mode

Before I proceed, I will love to remind you that the mastermind behind computer science is mathematics and will always remain mathematics, so it's good to go mathematical when you fall into confusion in computer science.

1.Mathematical Set

In mathematics,a Set is a single collection of a distinct element,it can be string, numbers, flowers etc 😊.

In JavaScript Programming, a Set is an object of distinct keys, and mind you the distinct keys can have the same value as their sibling key.


2.Mathematical SuperSet

In mathematics,we say A is a SuperSet of B when all B elements are present in A set.

In JavaScript Programming (lets key the class aside), we say object A is a SuperObject of object B when Object A has a complete extension of object B properties either by spreading, using the Object constructor which makes the object unenumerable(like Object.property or Object.properties, or Object.create), or & symbol.


3.Mathematical SubSet

In mathematics,we say B is a SubSet of A when all B elements exist in A set but A primary element doesn't exist in B Set. On the other hand, B makes up the existence of A but B exists without A.

In JavaScript Programming, we say Object B is SubObject of Object A when all the properties of Object B exist in Object A but the primary properties of A don't exist in Object B. Meaning Object B enables the existence of Object A.


4.JavaScript as a Subset of Typescript

I will like to conclude that from the mathematical representation, JavaScript enabled the existence of Typescript which we both know and that's why everything javascript gets transpile to javascript and shipped as javascript except interface which has no representation in Javascript(the interface is a good example of SuperSet primary element not being present in Subset)


5.Typescript as a Superset of Javascript

I will like to draw a simple conclusion from the mathematical standard, that there can be no SuperSet without SubSet as such there can be no reason why Typescript exists if not for Javascript.


So in a nutshell, Typescript and Javascript is a mathematical representation of SuperSet and SubSet. So I hope from now you start looking at this two Combinatorics as turn-around for Js community and not the other way round, if you are coming from a primarily-typed-language like me i am certain you know what I am talking ☕️😀🍻

Alt Text

Discussion (0)