TypeScript/tests/cases/conformance/controlFlow/controlFlowElementAccess2.ts

14 lines
439 B
TypeScript
Raw Normal View History

// @strict: true
declare const config: {
[key: string]: boolean | { prop: string };
};
if (typeof config['works'] !== 'boolean') {
config.works.prop = 'test'; // ok
config['works'].prop = 'test'; // error, config['works']: boolean | { 'prop': string }
}
if (typeof config.works !== 'boolean') {
config['works'].prop = 'test'; // error, config['works']: boolean | { 'prop': string }
config.works.prop = 'test'; // ok
}