打字稿Typecast

时间:2017-03-30 21:49:45

标签: json angular typescript

我收到一些JSON,它可以是TextField对象或DateField对象。两者都继承了Field超类。我收到的JSON转换为Field对象。然后我需要将此Field对象转换为相应的类型。为此,我在JSON中有一个Id,它让我知道它是TextField还是DateField对象。如果我创建一个新的TextField对象并手动为他分配JSON的值,一切都有效。但是,我想将它直接转换为相应的类,因为它具有与JSON相同的属性。像newField = <TextareaField>field;这样的东西但是,如果我newField instanceof TextField,它就不起作用了。关于如何将对象转换为其他类型的任何想法?

1 个答案:

答案 0 :(得分:-2)

如果我这样做似乎有效:

newField = Object.assign(new TextField(), field);