let cats: [Cat] = [Cat()] let animals: [Animal] = cats
一瞬、↑みたいなケースで cats
は animals
にコピーされないからインスタンスの型という概念が成り立たないかと思ったけど、コピーされないのはあくまでバッファであって、インスタンス自体の領域は別だからやっぱりインスタンスの型で判断できる気がする。animals
から cats
に as
で戻せなくなるのか。 (edited)Optional
の is
や as
もややこしくなるな・・・。