SlideShare a Scribd company logo
Nov 21, 2015Nov 23, 2014
Sofia
var title = “TypeScript 1.6”;
var subtitle= “How I Learned to Stop Worrying and Love JavaScript”;
var info = {
author: “Wekoslav Stefanovski”,
level: “Beginner”,
about: “TypeScript”,
type: [“Intro”, “What’s New”]
};
Nov 21, 2015
var agenda: IAgenda;
interface IAgenda {
whatIsJavaScript: string;
loveHateJavaScript: { [id:string]: boolean};
isTypeScriptNeeded: boolean;
majorFeatures: IFeature[];
canHasES6: boolean;
demos: Demo[]
}
Nov 21, 2015
JavaScript
The good, the bad and the ugly
Nov 21, 2015
• Prototype-based dynamic scripting language
• Is it a functional language?
• Is it object-oriented?
• It can be completely instable and untestable
• It can be absurdly undocumented
• Still, the universal language of the web
• Some people also use it server-side, even for databases
What is this JavaScript thing?
Nov 21, 2015
• Implicit globals
• Variable hoisting
• Truthy and falsy values
• Semicolon insertion
• Absurd handling of this
• Whatever it is that the ‘+’ operator is doing
• Typelessness
• Prototype inheritance
What I hate about JavaScript?
Nov 21, 2015
• Functions as first-class objects
• Openness to extension
• Malleability (polyfill)
• Prototype inheritance
• Again, functions as first-class objects
What I love about JavaScript?
Nov 21, 2015
TypeScript
A Few Good Types
Nov 21, 2015
• JavaScript’s got 99 problems but types ain’t one
• Neither are namespaces
• Nor explicit references
• Custom types that work as you would expect them to
• Structural interfaces to keep the malleability
• Fixed this references
• Fixed unintended globals & hoisting
• Somewhat fixed booleans (by formalizing)
Where does TypeScript fit in?
Nov 21, 2015
• Incredibly easy to pick up
• Incredibly easy to let go
• Use as much of it as you need
• Wonderful tooling support
• Fanatical devotion to backward and forward compatibility
• Compatible with most E6 concepts - now
Why I love TypeScript?
Nov 21, 2015
• Classes
• Interfaces
• Generics
• Lexical scoping
• Enums
• Modules
• Ambient declarations
Major TypeScript features
Nov 21, 2015
• Classes
• Arrow functions (lambdas)
• Rest parameters
• let
• const
• Desctructuring
• for..of
• Template strings
• Spread operator
• Enums
ES6 features
Nov 21, 2015
• Classes
• Structural and formal interfaces
• Generics
• Private, protected, and public methods
• Formal constructors
• Limited method / constructor overloading
• Easy ambient declarations
Type System
Nov 21, 2015
• JavaScript is not going to go away
• The JavaScript ecosystem is getting richer and richer
• And the language is quite stagnant
• TypeScript gives us the best of both worlds
• Even better server-side experience
Bottom Line
TypeScript brings back the joy of
client-side development
(at least, it did for me)
Nov 21, 2015
Thanks to our Sponsors:
General Sponsor:
Gold Sponsors:
Swag Sponsors:
Media Partners:
Silver Sponsors:
Technological Partners:
Bronze Sponsors:

More Related Content

What's hot (13)

The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
Gil Fink
 
Play with Elm!
Play with Elm!Play with Elm!
Play with Elm!
Paris Scala User Group
 
JXUGC #23 LT Xamarin & .NET Standard
JXUGC #23 LT Xamarin & .NET StandardJXUGC #23 LT Xamarin & .NET Standard
JXUGC #23 LT Xamarin & .NET Standard
Hidetsugu Tamaki
 
Shootout! Template engines for the JVM
Shootout! Template engines for the JVMShootout! Template engines for the JVM
Shootout! Template engines for the JVM
Jeroen Reijn
 
Scaling Tech in Asia
Scaling Tech in AsiaScaling Tech in Asia
Scaling Tech in Asia
Lester Chan
 
Introduction of dotnet
Introduction of dotnetIntroduction of dotnet
Introduction of dotnet
Ajay Wadekar
 
JS-Everywhere - SSE Hands-on
JS-Everywhere - SSE Hands-onJS-Everywhere - SSE Hands-on
JS-Everywhere - SSE Hands-on
Brice Argenson
 
Web Development with Delphi and React - ITDevCon 2016
Web Development with Delphi and React - ITDevCon 2016Web Development with Delphi and React - ITDevCon 2016
Web Development with Delphi and React - ITDevCon 2016
Marco Breveglieri
 
Wexler.QuadLab Advantages
Wexler.QuadLab AdvantagesWexler.QuadLab Advantages
Wexler.QuadLab Advantages
Sattar Gyulmamedov
 
Running Through Typescript
Running Through TypescriptRunning Through Typescript
Running Through Typescript
Nikhil Wanpal
 
From .NET Core 3, all the rest will be legacy
From .NET Core 3, all the rest will be legacyFrom .NET Core 3, all the rest will be legacy
From .NET Core 3, all the rest will be legacy
Rick van den Bosch
 
Java script
Java scriptJava script
Java script
fahhad123
 
Benefits of using Ruby on rails for Apps Development
Benefits of using Ruby on rails for Apps Development Benefits of using Ruby on rails for Apps Development
Benefits of using Ruby on rails for Apps Development
Chetu
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
Gil Fink
 
JXUGC #23 LT Xamarin & .NET Standard
JXUGC #23 LT Xamarin & .NET StandardJXUGC #23 LT Xamarin & .NET Standard
JXUGC #23 LT Xamarin & .NET Standard
Hidetsugu Tamaki
 
Shootout! Template engines for the JVM
Shootout! Template engines for the JVMShootout! Template engines for the JVM
Shootout! Template engines for the JVM
Jeroen Reijn
 
Scaling Tech in Asia
Scaling Tech in AsiaScaling Tech in Asia
Scaling Tech in Asia
Lester Chan
 
Introduction of dotnet
Introduction of dotnetIntroduction of dotnet
Introduction of dotnet
Ajay Wadekar
 
JS-Everywhere - SSE Hands-on
JS-Everywhere - SSE Hands-onJS-Everywhere - SSE Hands-on
JS-Everywhere - SSE Hands-on
Brice Argenson
 
Web Development with Delphi and React - ITDevCon 2016
Web Development with Delphi and React - ITDevCon 2016Web Development with Delphi and React - ITDevCon 2016
Web Development with Delphi and React - ITDevCon 2016
Marco Breveglieri
 
Running Through Typescript
Running Through TypescriptRunning Through Typescript
Running Through Typescript
Nikhil Wanpal
 
From .NET Core 3, all the rest will be legacy
From .NET Core 3, all the rest will be legacyFrom .NET Core 3, all the rest will be legacy
From .NET Core 3, all the rest will be legacy
Rick van den Bosch
 
Benefits of using Ruby on rails for Apps Development
Benefits of using Ruby on rails for Apps Development Benefits of using Ruby on rails for Apps Development
Benefits of using Ruby on rails for Apps Development
Chetu
 

Viewers also liked (12)

Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.jsThrough Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Wekoslav Stefanovski
 
Smoke and Mirrors - Reflection in C#
Smoke and Mirrors - Reflection in C#Smoke and Mirrors - Reflection in C#
Smoke and Mirrors - Reflection in C#
Wekoslav Stefanovski
 
Testing your Single Page Application
Testing your Single Page ApplicationTesting your Single Page Application
Testing your Single Page Application
Wekoslav Stefanovski
 
team816
team816team816
team816
Eric Schlimgen
 
Chimie loi de hess
Chimie   loi de hessChimie   loi de hess
Chimie loi de hess
Jean-Philippe Lehoux
 
Event
EventEvent
Event
Carlos Raul Sosa Alcantara
 
5 steps to setting great goals
5 steps to setting great goals5 steps to setting great goals
5 steps to setting great goals
breatheHR
 
Desert shores community park presentation
Desert shores community park presentationDesert shores community park presentation
Desert shores community park presentation
messias21
 
Curriculum la disciplina “Informatică” pentru clasele X – XII (varianta în li...
Curriculum la disciplina “Informatică” pentru clasele X – XII (varianta în li...Curriculum la disciplina “Informatică” pentru clasele X – XII (varianta în li...
Curriculum la disciplina “Informatică” pentru clasele X – XII (varianta în li...
Anna-Maria Russu
 
Chimie cours 04
Chimie   cours 04Chimie   cours 04
Chimie cours 04
Jean-Philippe Lehoux
 
Financing solution for women empowerment in agriculture
Financing solution for women empowerment in agricultureFinancing solution for women empowerment in agriculture
Financing solution for women empowerment in agriculture
kamnath2k
 
Coding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applicationsCoding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applications
Wekoslav Stefanovski
 
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.jsThrough Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Wekoslav Stefanovski
 
Smoke and Mirrors - Reflection in C#
Smoke and Mirrors - Reflection in C#Smoke and Mirrors - Reflection in C#
Smoke and Mirrors - Reflection in C#
Wekoslav Stefanovski
 
Testing your Single Page Application
Testing your Single Page ApplicationTesting your Single Page Application
Testing your Single Page Application
Wekoslav Stefanovski
 
5 steps to setting great goals
5 steps to setting great goals5 steps to setting great goals
5 steps to setting great goals
breatheHR
 
Desert shores community park presentation
Desert shores community park presentationDesert shores community park presentation
Desert shores community park presentation
messias21
 
Curriculum la disciplina “Informatică” pentru clasele X – XII (varianta în li...
Curriculum la disciplina “Informatică” pentru clasele X – XII (varianta în li...Curriculum la disciplina “Informatică” pentru clasele X – XII (varianta în li...
Curriculum la disciplina “Informatică” pentru clasele X – XII (varianta în li...
Anna-Maria Russu
 
Financing solution for women empowerment in agriculture
Financing solution for women empowerment in agricultureFinancing solution for women empowerment in agriculture
Financing solution for women empowerment in agriculture
kamnath2k
 
Coding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applicationsCoding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applications
Wekoslav Stefanovski
 

Similar to TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScript (20)

Experience Converting from Ruby to Scala
Experience Converting from Ruby to ScalaExperience Converting from Ruby to Scala
Experience Converting from Ruby to Scala
John Nestor
 
Java Closures
Java ClosuresJava Closures
Java Closures
Ben Evans
 
Frontend as a first class citizen
Frontend as a first class citizenFrontend as a first class citizen
Frontend as a first class citizen
Marcin Grzywaczewski
 
Whitepages Practical Experience Converting from Ruby to Reactive
Whitepages Practical Experience Converting from Ruby to ReactiveWhitepages Practical Experience Converting from Ruby to Reactive
Whitepages Practical Experience Converting from Ruby to Reactive
Dragos Manolescu
 
Scala adoption by enterprises
Scala adoption by enterprisesScala adoption by enterprises
Scala adoption by enterprises
Mike Slinn
 
The Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievThe Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey Vasiliev
Pivorak MeetUp
 
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Christian Heilmann
 
There Is No JavaScript
There Is No JavaScriptThere Is No JavaScript
There Is No JavaScript
Noam Kfir
 
Noam Kfir - There is no Java Script - code.talks 2015
Noam Kfir - There is no Java Script - code.talks 2015Noam Kfir - There is no Java Script - code.talks 2015
Noam Kfir - There is no Java Script - code.talks 2015
AboutYouGmbH
 
Next-generation JavaScript - OpenSlava 2014
Next-generation JavaScript - OpenSlava 2014Next-generation JavaScript - OpenSlava 2014
Next-generation JavaScript - OpenSlava 2014
Oscar Renalias
 
TypeScript-SPS-melb.pptx
TypeScript-SPS-melb.pptxTypeScript-SPS-melb.pptx
TypeScript-SPS-melb.pptx
accordv12
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
Uwe Korn
 
ScalaClean at ScalaSphere 2019
ScalaClean at ScalaSphere 2019ScalaClean at ScalaSphere 2019
ScalaClean at ScalaSphere 2019
Rory Graves
 
Introduction to Scala
Introduction to ScalaIntroduction to Scala
Introduction to Scala
Mohammad Hossein Rimaz
 
Bledar Gjocaj - Java open source
Bledar Gjocaj - Java open sourceBledar Gjocaj - Java open source
Bledar Gjocaj - Java open source
Open Labs Albania
 
Introduction_to_NET.ppt
Introduction_to_NET.pptIntroduction_to_NET.ppt
Introduction_to_NET.ppt
Darwin Terraza
 
Orthogonality: A Strategy for Reusable Code
Orthogonality: A Strategy for Reusable CodeOrthogonality: A Strategy for Reusable Code
Orthogonality: A Strategy for Reusable Code
rsebbe
 
Isomorphic JavaScript with Node, WebPack, and React
Isomorphic JavaScript with Node, WebPack, and ReactIsomorphic JavaScript with Node, WebPack, and React
Isomorphic JavaScript with Node, WebPack, and React
Tyler Peterson
 
NOSQL Databases for the .NET Developer
NOSQL Databases for the .NET DeveloperNOSQL Databases for the .NET Developer
NOSQL Databases for the .NET Developer
Jesus Rodriguez
 
Java script introduction
Java script introductionJava script introduction
Java script introduction
Jesus Obenita Jr.
 
Experience Converting from Ruby to Scala
Experience Converting from Ruby to ScalaExperience Converting from Ruby to Scala
Experience Converting from Ruby to Scala
John Nestor
 
Java Closures
Java ClosuresJava Closures
Java Closures
Ben Evans
 
Whitepages Practical Experience Converting from Ruby to Reactive
Whitepages Practical Experience Converting from Ruby to ReactiveWhitepages Practical Experience Converting from Ruby to Reactive
Whitepages Practical Experience Converting from Ruby to Reactive
Dragos Manolescu
 
Scala adoption by enterprises
Scala adoption by enterprisesScala adoption by enterprises
Scala adoption by enterprises
Mike Slinn
 
The Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievThe Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey Vasiliev
Pivorak MeetUp
 
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Christian Heilmann
 
There Is No JavaScript
There Is No JavaScriptThere Is No JavaScript
There Is No JavaScript
Noam Kfir
 
Noam Kfir - There is no Java Script - code.talks 2015
Noam Kfir - There is no Java Script - code.talks 2015Noam Kfir - There is no Java Script - code.talks 2015
Noam Kfir - There is no Java Script - code.talks 2015
AboutYouGmbH
 
Next-generation JavaScript - OpenSlava 2014
Next-generation JavaScript - OpenSlava 2014Next-generation JavaScript - OpenSlava 2014
Next-generation JavaScript - OpenSlava 2014
Oscar Renalias
 
TypeScript-SPS-melb.pptx
TypeScript-SPS-melb.pptxTypeScript-SPS-melb.pptx
TypeScript-SPS-melb.pptx
accordv12
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
Uwe Korn
 
ScalaClean at ScalaSphere 2019
ScalaClean at ScalaSphere 2019ScalaClean at ScalaSphere 2019
ScalaClean at ScalaSphere 2019
Rory Graves
 
Bledar Gjocaj - Java open source
Bledar Gjocaj - Java open sourceBledar Gjocaj - Java open source
Bledar Gjocaj - Java open source
Open Labs Albania
 
Introduction_to_NET.ppt
Introduction_to_NET.pptIntroduction_to_NET.ppt
Introduction_to_NET.ppt
Darwin Terraza
 
Orthogonality: A Strategy for Reusable Code
Orthogonality: A Strategy for Reusable CodeOrthogonality: A Strategy for Reusable Code
Orthogonality: A Strategy for Reusable Code
rsebbe
 
Isomorphic JavaScript with Node, WebPack, and React
Isomorphic JavaScript with Node, WebPack, and ReactIsomorphic JavaScript with Node, WebPack, and React
Isomorphic JavaScript with Node, WebPack, and React
Tyler Peterson
 
NOSQL Databases for the .NET Developer
NOSQL Databases for the .NET DeveloperNOSQL Databases for the .NET Developer
NOSQL Databases for the .NET Developer
Jesus Rodriguez
 

More from Wekoslav Stefanovski (10)

Make you a Redux for fun and profit!
Make you a Redux for fun and profit!Make you a Redux for fun and profit!
Make you a Redux for fun and profit!
Wekoslav Stefanovski
 
Blazor - C# for the web
Blazor - C# for the webBlazor - C# for the web
Blazor - C# for the web
Wekoslav Stefanovski
 
Asynchrony on the web
Asynchrony on the webAsynchrony on the web
Asynchrony on the web
Wekoslav Stefanovski
 
Servers? We don't need no stinking servers
Servers? We don't need no stinking serversServers? We don't need no stinking servers
Servers? We don't need no stinking servers
Wekoslav Stefanovski
 
Typescript Decorators
Typescript DecoratorsTypescript Decorators
Typescript Decorators
Wekoslav Stefanovski
 
How to write bad code using C#
How to write bad code using C#How to write bad code using C#
How to write bad code using C#
Wekoslav Stefanovski
 
Garbage Collection .Net
Garbage Collection .NetGarbage Collection .Net
Garbage Collection .Net
Wekoslav Stefanovski
 
TypeScript - Javascript done right
TypeScript - Javascript done rightTypeScript - Javascript done right
TypeScript - Javascript done right
Wekoslav Stefanovski
 
Entity Framework 5 - Code First
Entity Framework 5 - Code FirstEntity Framework 5 - Code First
Entity Framework 5 - Code First
Wekoslav Stefanovski
 
SOLID -Clean Code For Mere Mortals
SOLID -Clean Code For Mere MortalsSOLID -Clean Code For Mere Mortals
SOLID -Clean Code For Mere Mortals
Wekoslav Stefanovski
 

Recently uploaded (20)

Artificial hand using embedded system.pptx
Artificial hand using embedded system.pptxArtificial hand using embedded system.pptx
Artificial hand using embedded system.pptx
bhoomigowda12345
 
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World ExamplesMastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
jamescantor38
 
Download MathType Crack Version 2025???
Download MathType Crack  Version 2025???Download MathType Crack  Version 2025???
Download MathType Crack Version 2025???
Google
 
Medical Device Cybersecurity Threat & Risk Scoring
Medical Device Cybersecurity Threat & Risk ScoringMedical Device Cybersecurity Threat & Risk Scoring
Medical Device Cybersecurity Threat & Risk Scoring
ICS
 
How I solved production issues with OpenTelemetry
How I solved production issues with OpenTelemetryHow I solved production issues with OpenTelemetry
How I solved production issues with OpenTelemetry
Cees Bos
 
Adobe Audition Crack FRESH Version 2025 FREE
Adobe Audition Crack FRESH Version 2025 FREEAdobe Audition Crack FRESH Version 2025 FREE
Adobe Audition Crack FRESH Version 2025 FREE
zafranwaqar90
 
Time Estimation: Expert Tips & Proven Project Techniques
Time Estimation: Expert Tips & Proven Project TechniquesTime Estimation: Expert Tips & Proven Project Techniques
Time Estimation: Expert Tips & Proven Project Techniques
Livetecs LLC
 
Solar-wind hybrid engery a system sustainable power
Solar-wind  hybrid engery a system sustainable powerSolar-wind  hybrid engery a system sustainable power
Solar-wind hybrid engery a system sustainable power
bhoomigowda12345
 
The Elixir Developer - All Things Open
The Elixir Developer - All Things OpenThe Elixir Developer - All Things Open
The Elixir Developer - All Things Open
Carlo Gilmar Padilla Santana
 
Troubleshooting JVM Outages – 3 Fortune 500 case studies
Troubleshooting JVM Outages – 3 Fortune 500 case studiesTroubleshooting JVM Outages – 3 Fortune 500 case studies
Troubleshooting JVM Outages – 3 Fortune 500 case studies
Tier1 app
 
wAIred_LearnWithOutAI_JCON_14052025.pptx
wAIred_LearnWithOutAI_JCON_14052025.pptxwAIred_LearnWithOutAI_JCON_14052025.pptx
wAIred_LearnWithOutAI_JCON_14052025.pptx
SimonedeGijt
 
GC Tuning: A Masterpiece in Performance Engineering
GC Tuning: A Masterpiece in Performance EngineeringGC Tuning: A Masterpiece in Performance Engineering
GC Tuning: A Masterpiece in Performance Engineering
Tier1 app
 
Best HR and Payroll Software in Bangladesh - accordHRM
Best HR and Payroll Software in Bangladesh - accordHRMBest HR and Payroll Software in Bangladesh - accordHRM
Best HR and Payroll Software in Bangladesh - accordHRM
accordHRM
 
Autodesk Inventor Crack (2025) Latest
Autodesk Inventor    Crack (2025) LatestAutodesk Inventor    Crack (2025) Latest
Autodesk Inventor Crack (2025) Latest
Google
 
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptxThe-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
james brownuae
 
How to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryErrorHow to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryError
Tier1 app
 
Unit Two - Java Architecture and OOPS
Unit Two  -   Java Architecture and OOPSUnit Two  -   Java Architecture and OOPS
Unit Two - Java Architecture and OOPS
Nabin Dhakal
 
Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??
Web Designer
 
Wilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For WindowsWilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For Windows
Google
 
Sequence Diagrams With Pictures (1).pptx
Sequence Diagrams With Pictures (1).pptxSequence Diagrams With Pictures (1).pptx
Sequence Diagrams With Pictures (1).pptx
aashrithakondapalli8
 
Artificial hand using embedded system.pptx
Artificial hand using embedded system.pptxArtificial hand using embedded system.pptx
Artificial hand using embedded system.pptx
bhoomigowda12345
 
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World ExamplesMastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
jamescantor38
 
Download MathType Crack Version 2025???
Download MathType Crack  Version 2025???Download MathType Crack  Version 2025???
Download MathType Crack Version 2025???
Google
 
Medical Device Cybersecurity Threat & Risk Scoring
Medical Device Cybersecurity Threat & Risk ScoringMedical Device Cybersecurity Threat & Risk Scoring
Medical Device Cybersecurity Threat & Risk Scoring
ICS
 
How I solved production issues with OpenTelemetry
How I solved production issues with OpenTelemetryHow I solved production issues with OpenTelemetry
How I solved production issues with OpenTelemetry
Cees Bos
 
Adobe Audition Crack FRESH Version 2025 FREE
Adobe Audition Crack FRESH Version 2025 FREEAdobe Audition Crack FRESH Version 2025 FREE
Adobe Audition Crack FRESH Version 2025 FREE
zafranwaqar90
 
Time Estimation: Expert Tips & Proven Project Techniques
Time Estimation: Expert Tips & Proven Project TechniquesTime Estimation: Expert Tips & Proven Project Techniques
Time Estimation: Expert Tips & Proven Project Techniques
Livetecs LLC
 
Solar-wind hybrid engery a system sustainable power
Solar-wind  hybrid engery a system sustainable powerSolar-wind  hybrid engery a system sustainable power
Solar-wind hybrid engery a system sustainable power
bhoomigowda12345
 
Troubleshooting JVM Outages – 3 Fortune 500 case studies
Troubleshooting JVM Outages – 3 Fortune 500 case studiesTroubleshooting JVM Outages – 3 Fortune 500 case studies
Troubleshooting JVM Outages – 3 Fortune 500 case studies
Tier1 app
 
wAIred_LearnWithOutAI_JCON_14052025.pptx
wAIred_LearnWithOutAI_JCON_14052025.pptxwAIred_LearnWithOutAI_JCON_14052025.pptx
wAIred_LearnWithOutAI_JCON_14052025.pptx
SimonedeGijt
 
GC Tuning: A Masterpiece in Performance Engineering
GC Tuning: A Masterpiece in Performance EngineeringGC Tuning: A Masterpiece in Performance Engineering
GC Tuning: A Masterpiece in Performance Engineering
Tier1 app
 
Best HR and Payroll Software in Bangladesh - accordHRM
Best HR and Payroll Software in Bangladesh - accordHRMBest HR and Payroll Software in Bangladesh - accordHRM
Best HR and Payroll Software in Bangladesh - accordHRM
accordHRM
 
Autodesk Inventor Crack (2025) Latest
Autodesk Inventor    Crack (2025) LatestAutodesk Inventor    Crack (2025) Latest
Autodesk Inventor Crack (2025) Latest
Google
 
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptxThe-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
james brownuae
 
How to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryErrorHow to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryError
Tier1 app
 
Unit Two - Java Architecture and OOPS
Unit Two  -   Java Architecture and OOPSUnit Two  -   Java Architecture and OOPS
Unit Two - Java Architecture and OOPS
Nabin Dhakal
 
Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??
Web Designer
 
Wilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For WindowsWilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For Windows
Google
 
Sequence Diagrams With Pictures (1).pptx
Sequence Diagrams With Pictures (1).pptxSequence Diagrams With Pictures (1).pptx
Sequence Diagrams With Pictures (1).pptx
aashrithakondapalli8
 

TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScript

  • 1. Nov 21, 2015Nov 23, 2014 Sofia var title = “TypeScript 1.6”; var subtitle= “How I Learned to Stop Worrying and Love JavaScript”; var info = { author: “Wekoslav Stefanovski”, level: “Beginner”, about: “TypeScript”, type: [“Intro”, “What’s New”] };
  • 2. Nov 21, 2015 var agenda: IAgenda; interface IAgenda { whatIsJavaScript: string; loveHateJavaScript: { [id:string]: boolean}; isTypeScriptNeeded: boolean; majorFeatures: IFeature[]; canHasES6: boolean; demos: Demo[] }
  • 3. Nov 21, 2015 JavaScript The good, the bad and the ugly
  • 4. Nov 21, 2015 • Prototype-based dynamic scripting language • Is it a functional language? • Is it object-oriented? • It can be completely instable and untestable • It can be absurdly undocumented • Still, the universal language of the web • Some people also use it server-side, even for databases What is this JavaScript thing?
  • 5. Nov 21, 2015 • Implicit globals • Variable hoisting • Truthy and falsy values • Semicolon insertion • Absurd handling of this • Whatever it is that the ‘+’ operator is doing • Typelessness • Prototype inheritance What I hate about JavaScript?
  • 6. Nov 21, 2015 • Functions as first-class objects • Openness to extension • Malleability (polyfill) • Prototype inheritance • Again, functions as first-class objects What I love about JavaScript?
  • 7. Nov 21, 2015 TypeScript A Few Good Types
  • 8. Nov 21, 2015 • JavaScript’s got 99 problems but types ain’t one • Neither are namespaces • Nor explicit references • Custom types that work as you would expect them to • Structural interfaces to keep the malleability • Fixed this references • Fixed unintended globals & hoisting • Somewhat fixed booleans (by formalizing) Where does TypeScript fit in?
  • 9. Nov 21, 2015 • Incredibly easy to pick up • Incredibly easy to let go • Use as much of it as you need • Wonderful tooling support • Fanatical devotion to backward and forward compatibility • Compatible with most E6 concepts - now Why I love TypeScript?
  • 10. Nov 21, 2015 • Classes • Interfaces • Generics • Lexical scoping • Enums • Modules • Ambient declarations Major TypeScript features
  • 11. Nov 21, 2015 • Classes • Arrow functions (lambdas) • Rest parameters • let • const • Desctructuring • for..of • Template strings • Spread operator • Enums ES6 features
  • 12. Nov 21, 2015 • Classes • Structural and formal interfaces • Generics • Private, protected, and public methods • Formal constructors • Limited method / constructor overloading • Easy ambient declarations Type System
  • 13. Nov 21, 2015 • JavaScript is not going to go away • The JavaScript ecosystem is getting richer and richer • And the language is quite stagnant • TypeScript gives us the best of both worlds • Even better server-side experience Bottom Line TypeScript brings back the joy of client-side development (at least, it did for me)
  • 14. Nov 21, 2015 Thanks to our Sponsors: General Sponsor: Gold Sponsors: Swag Sponsors: Media Partners: Silver Sponsors: Technological Partners: Bronze Sponsors:
  翻译: