[[ReadonlyArray (TypeScript)|ReadonlyArray]]と[[読み取り専用プロパティ (TypeScript)|読み取り専用プロパティ]]は似ているようだが、[[ReadonlyArray (TypeScript)|ReadonlyArray]]の方が代入が厳しい。 ```ts let writableArray = ["a", "i", "u"]; let readonlyArray: ReadonlyArray<string> = ["a", "i", "u"]; readonlyArray = writableArray; // 可変なものを不変なものに代入はできる writableArray = readonlyArray; // 不変なものを可変なものに代入はでいない // The type 'readonly string[]' is 'readonly' and cannot be assigned to the mutable type 'string[]'.(4104) // --- readonlyプロパティの場合は相互に代入可能 let writableHuman: { name: string } = { name: "writable" }; let readonlyHuman: { readonly name: string } = { name: "readonly" }; readonlyHuman = writableHuman; writableHuman = readonlyHuman; ```