TypeScript
1、安装 npm install -g typescript => tsc -v(版本) => vscode新建 .ts 文件 => tsc hello.ts(转化为js文件) => node hello.js(终端运行)
2、TypeScript 基础类型
number、string、Boolean、数值、元组、枚举、void、null、undefind、never、any
(注意:TypeScript 和 JavaScript 没有整数类型。)
3、变量声明
var [变量名] : [类型] = 值;
var usename:string = "Tom";
var age:number = 18;
4、运算符
算术运算符、逻辑运算符、关系运算符、 按位运算符、 赋值运算符、三元/条件运算符、字符串运算符、类型运算符
5、条件语句
if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
switch 语句 - 使用该语句来选择多个代码块之一来执行
var num:number = 1
if(num > 0) {
console.log(num+" 是正数")
} else if(num < 0) {
console.log(num+" 是负数")
} else {
console.log(num+" 不是正数也不是负数")
}
6、循环
for
for(i = 0;i <= n;i++) {
sum+=i;
}
for…in、for…of
var j:any;
var n:any = "1 2 c"
for(j in n) {
console.log(n[j])
}
forEach、every 和 some 循环
let list = [4, 5, 6];
list.forEach((val, idx, array) => {
// val: 当前值
// idx:当前index
// array: Array
});
while 循环
while(num < 10) {
sum += num;
num ++;
}
无限循环
for(;;) {
// 语句
}
while(true) {
// 语句
}
7、函数
(1)函数定义
function fun() {
// 语句
}
(2)函数返回值(return_type是返回值的类型)
function fn():return_type {
//语句
return value;
}
(3)函数有参数
function fn( param1 [:datatype], param2 [:datatype]) {
//语句
}
function fn(a: number, b: number): number {
return a - b;
}
(4)可选参数
function fn(a: number, b?: number) { //a是必选,b是可选
//语句;
}
fn(1);
fn(1,2);
(5)默认参数
function fn(a:number,b:number = 1){
return a*b;
}
fn(100);//100
fn(100,2);//200
(6)剩余参数
function fn(a:number,..order:number[]){
return order;
}
fn(1,2,3,4);//2,3,4
(7)匿名函数和自调用
let res = function(a:number.b:number){
return a+b;
}
(function(a:number,b:number){
console.log(a+b);
})()
(8)构造函数
var fn= new Function("a", "b", "return a + b");
var x = myFunction(1,2);
console.log(x);//3
(9)递归函数
function factorial(number) {
if (number <= 0) { // 停止执行
return 1;
} else {
return (number * factorial(number - 1)); // 调用自身
}
};
console.log(factorial(6)); // 输出 720
(10)Lambda 函数,也称之为箭头函数(参数个数写法跟js一致)
var foo = (x:number)=> {
x = 10 + x
console.log(x)
}
foo(100)
(11)函数重载
function disp(s1:string):void;
function disp(n1:number,s1:string):void;
function disp(x:any,y?:any):void {
console.log(x);
console.log(y);
}
disp("abc") //abc undefined
disp(1,"xyz");//a xyz