Files
scriptc/tests/corpus/2981-string-optional-positions.ts
Chris Tate d8f6d7cf94 Fix static string position defaults and coercion (#416)
* Fix static string position defaults and coercion

* Stabilize HTTP timeout differential fixtures
2026-09-25 00:42:37 -05:00

19 lines
690 B
TypeScript

function optionalPosition(start = 0, end?: number): void {
const text = "aéΩbc";
console.log(text.charCodeAt(start), text.charAt(start), "a😀bc".charCodeAt(start));
console.log(text.slice(start, end), text.substring(start, end));
}
optionalPosition();
optionalPosition(3);
optionalPosition(3, 4);
optionalPosition(undefined, 0);
for (const start of [NaN, Infinity, -Infinity, -0, -1.9, 1.9, 99]) {
optionalPosition(start, undefined);
optionalPosition(start, NaN);
}
let calls = 0;
function position(value?: number): number | undefined { calls++; return value; }
console.log("abcd".substring(3, position()), calls);
console.log("abcd".slice(position(1), position(3)), calls);