JS for impatient programmers
>
印刷版:ES2019
>
「JavaScript for impatient programmers」中的外部連結
1. 關於本書(ES2019 版本)
https://exploringjs.dev.org.tw/
https://exploringjs.dev.org.tw/impatient-js/
https://exploringjs.dev.org.tw/impatient-js/#buy
http://francaye.net
http://www.serendipity23editorial.com
https://twitter.com/awbjs
https://twitter.com/bmeurer
https://twitter.com/bterlson
https://twitter.com/littledan
https://twitter.com/ljharb
https://twitter.com/mathias
https://twitter.com/MylesBorins
https://twitter.com/robpalmer2
https://twitter.com/simevidas
https://twitter.com/jowe
2. 常見問題:書籍和補充教材
https://exploringjs.dev.org.tw/impatient-js/downloads/complete-toc.html
https://exploringjs.dev.org.tw/impatient-js/#upgrades
https://exploringjs.dev.org.tw/impatient-js/es2019/
https://exploringjs.dev.org.tw/impatient-js/es2019/
https://exploringjs.dev.org.tw/impatient-js/es2019/
https://2ality.com/2018/04/type-notation-typescript.html
3. 為什麼是 JavaScript?(加值內容)
https://github.com/tc39/proposal-javascript-standard-library
https://www.npmjs.com
https://developers.google.com/web/progressive-web-apps/
https://electron.dev.org.tw
https://facebook.github.io/react-native/
https://node.dev.org.tw/
https://www.npmjs.com
https://babel.dev.org.tw
https://typescript.dev.org.tw
https://flow.dev.org.tw
4. JavaScript 的本質(加值內容)
https://github.com/tc39/proposal-binary-ast
https://typescript.dev.org.tw
https://flow.dev.org.tw
https://eslint.dev.org.tw
https://prettier.dev.org.tw
5. JavaScript 的歷史和演進
https://github.com/tc39/tc39-notes/
https://github.com/tc39/proposals
https://github.com/tc39/proposals/blob/master/finished-proposals.md
6. 常見問題:JavaScript
http://kangax.github.io/compat-table/es5/
https://twitter.com/kangax
https://twitter.com/webbedspace
https://twitter.com/zloirock
https://node.green
https://twitter.com/williamkapke
https://developer.mozilla.org/en-US/docs/Web/JavaScript
https://caniuse.dev.org.tw/
7. 全貌
https://developer.mozilla.org/en-US/
https://node.dev.org.tw/en/docs/
https://exploringjs.dev.org.tw
http://speakingjs.com/
https://exploringjs.dev.org.tw/es6.html
https://exploringjs.dev.org.tw/es2016-es2017.html
8. 語法
https://prettier.dev.org.tw
https://eslint.dev.org.tw
https://eslint.dev.org.tw/docs/rules/semi
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
9. 主控台:互動式 JavaScript 命令列
https://developer.apple.com/safari/tools/
https://developers.google.com/web/tools/chrome-devtools/console/
https://docs.microsoft.com/en-us/microsoft-edge/devtools-guide/console
https://developer.mozilla.org/en-US/docs/Tools/Web_Console/Opening_the_Web_Console
https://babel.dev.org.tw/repl
https://developer.mozilla.org/en-US/docs/Web/API/console
https://node.dev.org.tw/api/console.html
10. 斷言 API
https://node.dev.org.tw/api/assert.html#assert_strict_mode
https://node.dev.org.tw/api/assert.html
11. 開始測驗和練習
https://github.com/avajs/ava
12. 變數和賦值
http://speakingjs.com/es5/ch16.html
https://2ality.com/2019/08/global-this.html#window-proxy
https://exploringjs.dev.org.tw/es6/ch_classes.html#_private-data-via-constructor-environments
13. 值
https://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_sharing
14. 運算子
https://tc39.github.io/ecma262/#sec-abstract-equality-comparison
http://speakingjs.com/es5/ch09.html#comma_operator
http://speakingjs.com/es5/ch09.html#void_operator
15. 非值
undefined
和
null
https://tc39.github.io/ecma262/#sec-null-value
https://en.wikipedia.org/wiki/Option_type
17. 數字
https://2ality.com/2019/08/remainder-vs-modulo.html
https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html
https://docs.python.org/3/library/decimal.html
https://github.com/tc39/proposals/blob/master/stage-0-proposals.md
18.
Math
https://github.com/Microsoft/TypeScript/blob/master/lib/
https://developer.mozilla.org/en-US/docs/Web/JavaScript
https://tc39.github.io/ecma262/
19. Unicode – 簡要介紹 (進階)
https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-single-module-script
https://unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries
https://manishearth.github.io/blog/2017/01/14/stop-ascribing-meaning-to-unicode-code-points/
20. 字串
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl
https://github.com/tc39/proposal-intl-segmenter
https://unicode.org/reports/tr15/
https://github.com/Microsoft/TypeScript/blob/master/lib/
https://developer.mozilla.org/en-US/docs/Web/JavaScript
https://tc39.github.io/ecma262/
21. 使用範本字串和標籤範本
https://handlebars.dev.org.tw
https://github.com/Polymer/lit-html
https://www.polymer-project.org/
https://github.com/rauschma/re-template-tag
https://github.com/apollographql/graphql-tag
https://github.com/dmnd/dedent
23. 控制流程陳述式
https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt
24. 例外處理
https://tc39.github.io/ecma262/#sec-native-error-types-used-in-this-standard
25. 可呼叫值
https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
27. 模組
https://requirejs.dev.org.tw
https://semver.org
https://npm-docs.dev.org.tw/files/package.json
https://npm-docs.dev.org.tw/files/package.json#name
https://node.dev.org.tw/api/esm.html
https://github.com/tc39/proposal-import-meta
https://node.dev.org.tw/api/url.html#url_class_url
https://node.dev.org.tw/api/fs.html#fs_fs_promises_api
https://node.dev.org.tw/api/url.html
https://remysharp.com/2010/10/08/what-is-a-polyfill
https://remysharp.com/2010/10/08/what-is-a-polyfill
https://en.wikipedia.org/wiki/Paris_Las_Vegas
https://www.w3.org/2001/tag/doc/polyfills/
28. 單一物件
https://eslint.dev.org.tw/docs/rules/no-invalid-this
https://tc39.github.io/ecma262/#sec-ordinaryownpropertykeys
https://underscorejs.dev.org.tw
https://underscorejs.dev.org.tw/#pick
https://underscorejs.dev.org.tw/#invert
https://github.com/es-shims/Object.fromEntries
http://speakingjs.com/es5/ch17.html#property_attributes
29. 原型鏈和類別
https://github.com/tc39/proposal-class-fields
https://exploringjs.dev.org.tw/es6/ch_classes.html#sec_private-data-for-classes
31. 陣列 (
Array
)
https://tc39.github.io/ecma262/#integer-index
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl
https://github.com/Microsoft/TypeScript/blob/master/lib/
https://developer.mozilla.org/en-US/docs/Web/JavaScript
https://tc39.github.io/ecma262/
32. 型化陣列:處理二進位資料 (進階)
https://www.khronos.org/registry/typedarray/specs/1.0/
http://www.html5rocks.com/en/tutorials/webgl/typed_arrays/#toc-history
http://www.html5rocks.com/en/tutorials/webgl/typed_arrays/#toc-history
https://en.wikipedia.org/wiki/Endianness
33. 地圖 (
Map
)
http://www.ecma-international.org/ecma-262/6.0/#sec-samevaluezero
https://github.com/Microsoft/TypeScript/blob/master/lib/
34. 弱映射 (
WeakMap
)
https://github.com/tc39/tc39-notes/blob/master/meetings/2014-11/nov-19.md#412-should-weakmapweakset-have-a-clear-method-markm
36. 弱集合 (
WeakSet
)
https://mail.mozilla.org/pipermail/es-discuss/2015-June/043027.html
38. 同步產生器 (進階)
https://node.dev.org.tw/en/docs/
https://exploringjs.dev.org.tw/es6/ch_generators.html
39. JavaScript 中的非同步程式設計
http://rauschma.github.io/async-examples/blocking.html
https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API
https://vimeo.com/96425312
https://www.w3.org/TR/html5/webappapis.html#event-loops
40. 非同步程式設計的 Promise
https://fetch.spec.whatwg.org/#fetch-api
http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony
https://exploringjs.dev.org.tw/es6/ch_promises.html#_timing-out-via-promiserace
https://exploringjs.dev.org.tw/es6/ch_promises.html#sec_demo-promise
43. 正規表示式 (
RegExp
)
http://www.unicode.org/versions/Unicode9.0.0/ch03.pdf
https://unicode.org/reports/tr44/#Properties
44. 日期 (
Date
)
https://momentjs.dev.org.tw
https://github.com/iamkun/dayjs
https://moment.github.io/luxon/
https://js-joda.github.io/js-joda/
https://github.com/date-fns/date-fns
https://inventi.studio/en/blog/why-you-shouldnt-use-moment-js
https://github.com/maggiepint/proposal-temporal
https://www.timeanddate.com/time/gmt-utc-time.html
https://www.timeanddate.com/time/zones/z
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl
45. 建立和解析 JSON (
JSON
)
http://json.org/
https://www.ecma-international.org/publications/standards/Ecma-404.htm
https://web.archive.org/web/20190308024153/https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr
46. 後續步驟:網路開發概觀 (額外)
https://developers.google.com/web/progressive-web-apps/checklist
https://developer.mozilla.org/en-US/docs/Learn
https://webassembly.org
https://arxiv.org/abs/1901.09056
https://github.com/WebAssembly/WASI
http://lisperator.net/uglifyjs/
https://github.com/babel/minify
https://github.com/terser-js/terser
https://developers.google.com/closure/compiler/
https://medium.com/@asyncmax/the-right-way-to-bundle-your-assets-for-faster-sites-over-http-2-437c37efe3ff
https://yarn.dev.org.tw/en/
https://github.com/pnpm/pnpm
https://github.com/facebook/immutable-js/
https://github.com/mweststrate/immer
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl
https://graphql.dev.org.tw/