TypeScript — строго типизированный и компилируемый язык, расширяющий возможности JavaScript.
Anders Hejlsberg — разработчик языка, создавший ранее Turbo Pascal, Delphi и C#.
Представлен Microsoft в 2012 г.
Open source.
TypeScript обратно совместимым с JavaScript
и компилируется в него.
TypeScript — объектно-ориентирован.
Node.js
+
npm
npm install -g typescript
или
через package.json
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"removeComments": true,
"outFile": "../../built/local/tsc.js"
},
"files":[
"app.ts"
],
"exclude":[
"node_modules"
]
}
index.html
<!DOCTYPE html>
<html>
<head></head>
<body>
</body>
</html>
app.ts
class User{
public name: string;
public age: number;
constructor(_name: string, _age: number) {
this.name = _name;
this.age = _age;
}
}
let tom: User = new User("Том", 29);
let el = document.getElementById("content");
el.innerHTML="Имя: " + tom.name + ", возраст: " + tom.age;
app.js
var User = (function () {
function User(_name, _age) {
this.name = _name;
this.age = _age;
}
return User;
}());
var tom = new User("Том", 29);
var el = document.getElementById("content");
el.innerHTML = "Имя: " + tom.name + ", возраст: " + tom.age;
var, let, const
var x = "hello"; console.log(x); // hello var x = "work"; console.log(x); // work
let x = "hello";
console.log(x);
let x = "work"; // Error
console.log(x);
let z = 6; z = 8;
А если...
const z = 6;
z = 8; // Error
Но если...
const z = {a: 6}; z.a = 8;
let x: number = 10; let hello: string = "hello world"; let isValid: boolean = true;
let hello: string = "hello world";
hello = 23; // Error
let x; // type any x = 10;
let names: string[] = ["Tom", "Bob", "Alice"];
console.log(names[1]); // Bob
(Рассмотрим подробнее)