How to go from JavaScript to TypeScript?
The content of this article is about how to go from JavaScript to TypeScript? It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
If you want to learn typeScript, I think you must first be very proficient in native javaScript. The most basic knowledge is the most important, and then you must master ES5 ES6 ES7 (it is best to know some after 7). Once you master the new technology, you can It won't be so tiring. typeScript =type javaScript, adds a type on the basis of ES5/6/7 javaScript!
TS is really very strict compared to JS, as long as it slightly does not match the interface or value type, or it is If the number of parameters is incorrect, or if the value is changed and the type of the original value is not
consistent, an error will be reported. It is recommended to use npm to install typeScript globally and then use tsc *.ts to compile TS files
'The new core concept of typeScript:'let app:string=2;This code will report an error because the value 2 is a number, and the app is specified as string type, so an error will be reported in TS
New value type:
any: can be any typevold:an empty Return type, such as function move():vold{} This means that this function has no return value. If it is changed to any, then it can be whatever type the function returns, but it must return otherwise TS will report an errorNew concept: type inference
- let app = 'hello' ; app=1 ; This code will report an error because TS treats it as let app:string = 'hello', again To change the value of
- let app: string | number = 'hello' ; app = 1; This code will not report an error, because app is a union type variable, it can be either
- javaScript is also an object-oriented language, but in ES5 it is implemented based on prototypes, and in ES6 it is used class class, this will give you a clearer understanding of the term
- You can imagine the object as a woman (abstracted into a variable let app in TS)
- We use the interface to describe this woman (use let app in TS: interfacename )
- Finally use some methods to get the woman’s contact information (use the method in the class class in TS to achieve it)
class ask{ name:string; tel ? :number ; //这里为什么加问号,因为你不一定能拿到她的号码,如果拿不到,那么便可以不传参数, 但是如果不加? ,你又没那么号码,那么你没有参数传进来,TS就会报错 age:number ; constructor(name,age,tel){ this.name=name; this.age=age; this.tel=tel } } interface check { name : string; age:number; tel ? :number; } let woman :check = new ask ('rose',20,1888888888);//假设你拿到美女所有资料 传入构造函数This way You can print console.log(woman) to see what it looks like. There is no error in the above code.
- After the above code is compiled into a JS file through the tsc command
var ask = /* @class / (function () { function ask(name, age, tel) { this.name = name; this.age = age; this.tel = tel; } return ask; }()); let woman = new ask('rose', 20, 1888888888); console.log(woman)"It should be noted here that after many TS codes are compiled, they are not Will appear in JS files, such as const enum enumerations, interfaces, etc. Of course, you will encounter more "
concepts of tuples
- arrays in JS later. It can store a large amount of content. The so-called tuple is actually an array of different data types
- [1,'1',true,false] In fact, this is a tuple, but it is called differently.
- enum app { red, blue, pink, deeppink }
- console.log( app.red, app.blue, app.pink, app.deeppink) // Output 0,1,2,3
- enum app2 { red = 2, blue, pink, deeppink }
- console.log(app2.red, app2.blue, app2.pink, app2.deeppink) // Output 2,3,4,5
- The default first one in the enumeration The value is 0; you can also define it yourself. If the customization conflicts with the system default, TS will not recognize it and
const enum Directions { Up, Down, Left, Right } let directions = [Directions.Up, Directions.Down, Directions.Left, Directions.Right]; // 结果是 0 1 2 3
* If it contains calculated members, an error will be reported during the compilation phase: * const enum Color {Red, Green , Blue = "blue".length};
* The difference between a constant enumeration and a normal enumeration is that it will be deleted during the compilation phase and cannot contain calculated members. You will know after a try
Classes and interfaces (one of the most important)
* If you want to implement Multiple classes inherit, then use subclasses to continue to inherit other classes, and the cycle continues
interface check { name: string; age: number; hobby: Array<number> fuck: number[] //这两种写法是一样的 }</number>
class exp implements check { name: string age: number hobby:Array<number> fuck: number[] constructor(name, age, hobby, fuck) { this.name = name; this.age = age; this.hobby = hobby; this.fuck = fuck; } } let app = new exp('hello', 18, [1, 2, 3], [2, 3, 4])</number>------After TS compilation, you get
var exp = /* @class / (function () { function exp(name, age, hobby, fuck) { this.name = name; this.age = age; this.hobby = hobby; this.fuck = fuck; } return exp; }()); var app = new exp('hello', 18, [1, 2, 3], [2, 3, 4]);
typeScript is probably the most difficult That’s how to understand elegant object-oriented programming. The interface is just for description.
To really implement it, you need the class class to implement it. ES6 plays a very important role in typeScript. ###So I suggest you first Go learn native javaScript ES6 and then learn typeScript, it will be much easier, ###
This article has ended here. For more exciting content, you can pay attention to the JavaScript Tutorial Video column on the PHP Chinese website!
The above is the detailed content of How to go from JavaScript to TypeScript?. For more information, please follow other related articles on the PHP Chinese website!

The main uses of JavaScript in web development include client interaction, form verification and asynchronous communication. 1) Dynamic content update and user interaction through DOM operations; 2) Client verification is carried out before the user submits data to improve the user experience; 3) Refreshless communication with the server is achieved through AJAX technology.

Understanding how JavaScript engine works internally is important to developers because it helps write more efficient code and understand performance bottlenecks and optimization strategies. 1) The engine's workflow includes three stages: parsing, compiling and execution; 2) During the execution process, the engine will perform dynamic optimization, such as inline cache and hidden classes; 3) Best practices include avoiding global variables, optimizing loops, using const and lets, and avoiding excessive use of closures.

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

Python and JavaScript have their own advantages and disadvantages in terms of community, libraries and resources. 1) The Python community is friendly and suitable for beginners, but the front-end development resources are not as rich as JavaScript. 2) Python is powerful in data science and machine learning libraries, while JavaScript is better in front-end development libraries and frameworks. 3) Both have rich learning resources, but Python is suitable for starting with official documents, while JavaScript is better with MDNWebDocs. The choice should be based on project needs and personal interests.

The shift from C/C to JavaScript requires adapting to dynamic typing, garbage collection and asynchronous programming. 1) C/C is a statically typed language that requires manual memory management, while JavaScript is dynamically typed and garbage collection is automatically processed. 2) C/C needs to be compiled into machine code, while JavaScript is an interpreted language. 3) JavaScript introduces concepts such as closures, prototype chains and Promise, which enhances flexibility and asynchronous programming capabilities.

Different JavaScript engines have different effects when parsing and executing JavaScript code, because the implementation principles and optimization strategies of each engine differ. 1. Lexical analysis: convert source code into lexical unit. 2. Grammar analysis: Generate an abstract syntax tree. 3. Optimization and compilation: Generate machine code through the JIT compiler. 4. Execute: Run the machine code. V8 engine optimizes through instant compilation and hidden class, SpiderMonkey uses a type inference system, resulting in different performance performance on the same code.

JavaScript's applications in the real world include server-side programming, mobile application development and Internet of Things control: 1. Server-side programming is realized through Node.js, suitable for high concurrent request processing. 2. Mobile application development is carried out through ReactNative and supports cross-platform deployment. 3. Used for IoT device control through Johnny-Five library, suitable for hardware interaction.

I built a functional multi-tenant SaaS application (an EdTech app) with your everyday tech tool and you can do the same. First, what’s a multi-tenant SaaS application? Multi-tenant SaaS applications let you serve multiple customers from a sing


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

WebStorm Mac version
Useful JavaScript development tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Atom editor mac version download
The most popular open source editor