ts 与 js 简记

167 阅读2分钟

类型判断

typeof 输出类型
instanceof 判断是否是指定类型(可以判断自定义类 比如  p instanceof Persion

循环

for(;;) // 无限循环 
some // 检测数组元素中是否有元素符合指定条件
every  // 检测数值元素的每个元素是否都符合条件
map() // 通过指定函数处理数组的每个元素,并返回处理后的数组。

名词

Proxy 代理 「拦截」
Reflect 反射
prototype 原型 
constructor 构造函数 函数自带/类的构造函数实现
Assertion 断言
extends 继承

interface 接口(ts特有,不会编译为js) 可以继承
class类 支持继承 

类方法,实例 可以访问(这里与Object-C 语法不一样);
类方法相当于原型链中的方法

类方法 可以重写
super.doInit() 

类可以实现接口 通过implements 实现 class AgriLoan implements ILoan


private protected public 用来修饰 属性 或者 方法


空间命名namespace   
/// 三斜杠引入 
/// <reference path = "SomeFileName.ts" />

文件声明 declare module Module_Name { }

类型

never: nullundefined的子集 表示不会出现, 在函数中它通常表现为抛出异常或无法执行到终止点

enum: 只是数字的语义化 {如果某个属性的值是计算出来的,那么它后面一位的成员必须要初始化值。}
enum Color {Red=3, Yellow, Blue}
let color:Color = Color.Yellow  // 4

 
void 表示么有返回值
any 类型
null 空引用对象 表示什么都没有
undefined  就是undedined类型,表示未定义


//例
let arr : any[] = [1,”a”]
let arr1:Arry<string> = [“a”]
let x: number | null |undefined (联合类型)

ts 函数参数 和 返回值

? :表示可选参数,如果不是可选参数,则必须要传
... :表示 剩余参数,可以传任意多个参数


function add(x: number = 0, y?: number, ...other: string[]): number

数组 与 数组解构

var multi:number[][] = [[1,2,3],[23,24,25]]  //多维数组

var arr:number[] = [12,13] 
var[x,y] = arr // 将数组的两个元素赋值给变量 x 和 y

console.log(x) 
console.log(y)


元组 可以存储不同类型的值,数组一般同类型