1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
//// [indexedAccessWithFreshObjectLiteral.ts]
function foo (id: string) {
return {
a: 1,
b: "",
c: true
}[id]
}
function bar (id: 'a' | 'b') {
return {
a: 1,
b: "",
c: false
}[id]
}
function baz (id: '1' | '2') {
return {
1: 1,
2: "",
3: false
}[id]
}
function qux (id: 1 | 2) {
return {
1: 1,
2: "",
3: false
}[id]
}
function quux (id: 'a' | 'b' | 'z') {
return {
a: 1,
b: "",
c: false
}[id]
}
function corge(id: string) {
return ({
a: 123,
b: ""
} as Record<string, number | string>)[id]
}
function grault(id: string) {
return ({
a: 123,
b: ""
} as { [k: string]: string | number})[id]
}
//// [indexedAccessWithFreshObjectLiteral.js]
"use strict";
function foo(id) {
return {
a: 1,
b: "",
c: true
}[id];
}
function bar(id) {
return {
a: 1,
b: "",
c: false
}[id];
}
function baz(id) {
return {
1: 1,
2: "",
3: false
}[id];
}
function qux(id) {
return {
1: 1,
2: "",
3: false
}[id];
}
function quux(id) {
return {
a: 1,
b: "",
c: false
}[id];
}
function corge(id) {
return {
a: 123,
b: ""
}[id];
}
function grault(id) {
return {
a: 123,
b: ""
}[id];
}
|