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內建迭代器實現方式。
相關文章
- Matt Austern : Defining Iterators and Const Iterators (轉)
- [譯]JavaScript Symbols, Iterators, Generators, Async/Await, and Async IteratorsJavaScriptSymbolAI
- [Javascript] Generator & Iterators exerciseJavaScript
- c++ insert iterators 插入型迭代器C++
- Iterators模式探討(筆記心得體會)模式筆記
- ES6中的新特性:Iterables和iterators
- Python高階特性(1):Iterators、Generators和itertoolsPython
- 學習筆記--how the cbo evaluates IN-list iterators筆記
- JavaScript專項演算法題(7):Iterators迭代器JavaScript演算法
- iterators & generators-《understanding ECMAScipt6》讀書筆記8筆記
- typescriptTypeScript
- TypeScript 簡明教程:認識 TypeScriptTypeScript
- TypeScript 簡明教程:安裝 TypeScriptTypeScript
- 「極速上手TypeScript」TypeScript之PromiseTypeScriptPromise
- 「極速上手TypeScript」TypeScript進階“物件”TypeScript物件
- TypeScript In ICETypeScript
- TypeScript @typesTypeScript
- Vue with TypeScriptVueTypeScript
- TypeScript declareTypeScript
- Typescript basicTypeScript
- Why TypeScript?TypeScript
- Vuex and TypescriptVueTypeScript
- 理解TypeScriptTypeScript
- TypeScript 介面TypeScript
- CSS in TypescriptCSSTypeScript
- 初探 TypeScriptTypeScript
- TypeScript GeneratorsTypeScript
- TypeScript SymbolsTypeScriptSymbol
- 系統學習 TypeScript(一)——認識 TypeScriptTypeScript
- 「極速上手TypeScript」TypeScript基礎語法TypeScript
- [Typescript] Handling a Truly Empty Object in TypeScriptTypeScriptObject
- typescript + react 專案開發體驗之typescriptTypeScriptReact
- Learning TypeScriptTypeScript
- TypeScript (基礎)TypeScript
- TypeScript this型別TypeScript型別
- vue-typescriptVueTypeScript
- TypeScript Modules(2)TypeScript
- TypeScript迭代器TypeScript