typescript笔记(十四)
对象:包含一组键值对的实例。 值可以是标量、函数、数组、对象等
1)、对象实例
例如:
let obj = {
key : 'value1',
key1 : 'value',
key3 : function(){
return '8'
},
key4 : ['23','34']
}
console.log(obj.key) //value1
console.log(obj.key1) //value
console.log(obj.key3()) //8
console.log(obj.key4) //['23','34]
2)、类型模板
1、js定义对象:
例如:
let str = {
str1:'123',
str2:'456'
}
str.say = function(){ return "hello";}
2、ts定义对象:
例如:
let str = {
str1 : 'hello',
str2 : 'wrold',
say : function(){}
}
str.say = function(){
console.log('hello wrold') //hello wrold
}
str.say()
3、鸭子类型:是动态类型的一种风格,是多态(polymorphism)的一种形式;在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由"当前方法和属性的集合"决定。
例如:
interface im{
x : number
y : number
}
function add(l1:im,l2:im){
let x = l1.x+l2.x;
let y = l1.y + l2.y;
return {x:x,y:y}
}
let f = add({x:3,y:4},{x:5,y:1})
console.log(f) //{ x: 8, y: 5 }