2a2962a916
Fixes #45122
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
//// [intersectionTypeReadonly.ts]
|
|
interface Base {
|
|
readonly value: number;
|
|
}
|
|
interface Identical {
|
|
readonly value: number;
|
|
}
|
|
interface Mutable {
|
|
value: number;
|
|
}
|
|
interface DifferentType {
|
|
readonly value: string;
|
|
}
|
|
interface DifferentName {
|
|
readonly other: number;
|
|
}
|
|
let base: Base;
|
|
base.value = 12 // error, lhs can't be a readonly property
|
|
let identical: Base & Identical;
|
|
identical.value = 12; // error, lhs can't be a readonly property
|
|
let mutable: Base & Mutable;
|
|
mutable.value = 12;
|
|
let differentType: Base & DifferentType;
|
|
differentType.value = 12; // error, lhs can't be a readonly property
|
|
let differentName: Base & DifferentName;
|
|
differentName.value = 12; // error, property 'value' doesn't exist
|
|
|
|
|
|
//// [intersectionTypeReadonly.js]
|
|
var base;
|
|
base.value = 12; // error, lhs can't be a readonly property
|
|
var identical;
|
|
identical.value = 12; // error, lhs can't be a readonly property
|
|
var mutable;
|
|
mutable.value = 12;
|
|
var differentType;
|
|
differentType.value = 12; // error, lhs can't be a readonly property
|
|
var differentName;
|
|
differentName.value = 12; // error, property 'value' doesn't exist
|