TypeScript Iterators
ES2015新增Iterator 遍歷器,具體可以參閱JavaScript Iterator 遍歷器一章節。
下面介紹一下TS程式碼編譯生成不同版本的JS程式碼時的區別。
目標為 ES5 和 ES3:
當生成目標為ES5或ES3,迭代器只允許在Array型別上使用。
在非陣列值上使用for..of語句會得到一個錯誤,就算這些非陣列值已經實現了Symbol.iterator屬性。
編譯器會生成一個簡單的for迴圈做為for..of迴圈,比如:
[typescript] 純文字檢視 複製程式碼let numbers = [1, 2, 3]; for (let num of numbers) { console.log(num); }
編譯生成JavaScript程式碼如下:
[JavaScript] 純文字檢視 複製程式碼var numbers = [1, 2, 3]; for (var _i = 0; _i < numbers.length; _i++) { var num = numbers[_i]; console.log(num); }
目標為 ECMAScript 2015 或更高:
當目標為相容ECMAScipt 2015的引擎時,編譯器會生成相應引擎的for..of內建迭代器實現方式。
相關文章
- [譯]JavaScript Symbols, Iterators, Generators, Async/Await, and Async IteratorsJavaScriptSymbolAI
- [Javascript] Generator & Iterators exerciseJavaScript
- ES6中的新特性:Iterables和iterators
- JavaScript專項演算法題(7):Iterators迭代器JavaScript演算法
- [Typescript] Handling a Truly Empty Object in TypeScriptTypeScriptObject
- typescriptTypeScript
- 「極速上手TypeScript」TypeScript之PromiseTypeScriptPromise
- TypeScript 簡明教程:安裝 TypeScriptTypeScript
- TypeScript 簡明教程:認識 TypeScriptTypeScript
- 「極速上手TypeScript」TypeScript進階“物件”TypeScript物件
- TypeScript 介面TypeScript
- TypeScript declareTypeScript
- Why TypeScript?TypeScript
- TypeScript In ICETypeScript
- Typescript tsconfigTypeScript
- Typescript basicTypeScript
- Vue with TypeScriptVueTypeScript
- TypeScript @typesTypeScript
- Vuex and TypescriptVueTypeScript
- Learning TypeScriptTypeScript
- 初探 TypeScriptTypeScript
- 理解TypeScriptTypeScript
- 系統學習 TypeScript(一)——認識 TypeScriptTypeScript
- 「極速上手TypeScript」TypeScript基礎語法TypeScript
- typescript + react 專案開發體驗之typescriptTypeScriptReact
- 重溫TypescriptTypeScript
- typescript筆記TypeScript筆記
- Typescript 入門TypeScript
- TypeScript(4)介面TypeScript
- Typescript詳解TypeScript
- TypeScript 之 NarrowingTypeScript
- TypeScript 之 GenericsTypeScript
- TypeScript學習TypeScript
- vue-typescriptVueTypeScript
- TypeScript this型別TypeScript型別
- TypeScript基礎TypeScript
- TypeScript Modules(2)TypeScript
- TypeScript迭代器TypeScript