- Learn React with TypeScript 3
- Carl Rippon
- 254字
- 2021-06-10 19:16:31
Using future JavaScript features
There is another benefit of TypeScript that is important to understand. TypeScript allows us to use some features in JavaScript that haven't yet been adopted by all browsers but still target those browsers. TypeScript achieves this by transpiling the use of these features down to JavaScript code that the targeted browser does support.
As an example, let's look at the exponentiation operator (**) in ES7, which isn't supported in IE. Let's create a file called future.ts and enter the following code:
var threeSquared: number = 3 ** 2;
console.log(threeSquared);
When we run the program in a browser, it should put 9 into the console. Before we do that, let's run the code against the TypeScript compiler to get the transpiled JavaScript. Run the following command in a terminal in the same directory as future.ts:
tsc future
This should generate a file called future.js with the following content:
var threeSquared = Math.pow(3, 2);
console.log(threeSquared);
So, TypeScript converted the exponentiation operator to a call to the Math.pow function, which is supported in IE. To confirm that this works, paste the generated JavaScript code into the console in IE and the output should be 9.
This example is purposely simple but probably not that useful. Async/await, spread operators, rest parameters, and arrow functions are far more useful features that IE doesn't support but TypeScript allows the use of. Don't worry if you don't know what the features in the last sentence are, as we'll cover them when we need them in the book.
- Embedded Linux Projects Using Yocto Project Cookbook
- Angular UI Development with PrimeNG
- Mastering Natural Language Processing with Python
- Learning Neo4j 3.x(Second Edition)
- Hands-On GPU:Accelerated Computer Vision with OpenCV and CUDA
- 基于Struts、Hibernate、Spring架構的Web應用開發
- 一本書講透Java線程:原理與實踐
- Webpack實戰:入門、進階與調優(第2版)
- HTML5游戲開發實戰
- UML基礎與Rose建模實用教程(第三版)
- C語言程序設計教程
- 金融商業數據分析:基于Python和SAS
- Head First Kotlin程序設計
- Java EE輕量級解決方案:S2SH
- Getting Started with the Lazarus IDE