TypeScript--noImplicitAny option, the Other
I did not know for a long time,
Any implicit error
It was a reference to the property that has not been defined
//Index Signature
var ok1:{
[index : string]:string;} = {};
var ok2:{
[index:string]:any;
name :string;
age: string;
}
var ok2Same: {
name : string;
age: number;
};
var v1 = ok2Same["noExists"];
//Non-existent parameters become any implicit
//if you use --noImplicitAny option, this is error
var v2 = ok2Same["name"];
var v3 = ok2Same["age"];
//Constructor Signature
var Greeting:{
new(word:string): {hello():string;};
}
class GreetingImpl{
constructor(public word = "word"){}
hello(){
return "Hello" + this.word;
}
}
Greeting = GreetingImpl;
var obj = new Greeting("word");
var str = obj.hello();
console.log(str);
//Generics
//if typeparameter same, independented function
function head
return array[0];
}
function last
return array[array.length-1];
}
var array = [1,2,3];
console.log(head
console.log(last