Синтаксис распространения не работает правильно при применении к генератору в Typescript с использованием Visual Studio - PullRequest
0 голосов
/ 28 мая 2018

При использовании кода Visual Studio со следующим кодом:

function* chain(arrays) {
    for (let i = 0 ; i < arrays.length ; i++)
        yield* arrays[i];   
}
console.log([...chain([['A', 'B'], ['C', 'D']])]);

я получаю ошибку:

c:\Users\GiladNoy\Desktop\PPLworkspace\ass4\part3\tempCodeRunnerFile.ts:6
console.log([...chain([['A', 'B'], ['C', 'D']])]);
                                               ^
TypeError: chain(...).slice is not a function

Однако, когда я запускаю тот же файл на cmd с помощью ts-nodeрезультат будет таким, как ожидалось:

[ 'A', 'B', 'C', 'D' ]

Если оператор ... не используется, Visual Studio печатает:

[ { next: [Function],
    throw: [Function],
    return: [Function],
    [Symbol(Symbol.iterator)]: [Function] } ]

И на cmd:

[ {} ]

Любая идея, что вызывает это и как решить эту проблему, чтобы код в Visual Studio работал так же, как при использовании ts-node на cmd?

1 Ответ

0 голосов
/ 28 мая 2018

Это может быть ответом, пожалуйста попробуйте.

  console.log([...chain,...['A', 'B'], ...['C', 'D']]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...