ES6指南

ECMAScript是JavaScript基于的标准,通常缩写为ES。了解关于ECMAScript的一切以及ES6(又称ES2015)中添加的功能。 箭头函数 新的this作用域 Promises 生成器 let和const 类 构造函数 Super 取值器和存值器 模块 导入模块 导出模块 模板字符串 默认参数 展开运算符 解构赋值 增强的对象字面量 更简洁的语法来包含变量 原型 super() 动态属性 for-of循环 Map和Set 新的字符串方法 新的对象方法 ECMAScript 2015,也称为ES6,是ECMAScript标准的基本版本。 与最新的标准修订相隔4年发布,ECMAScript 5.1,它也标志着从版本号转换为年份的变化。 因此不应该称为ES6(尽管每个人都这样称呼),而应该称为ES2015。 ES5的制定历经了10年,从1999年到2009年,因此它也是一次基本而非常重要的语言修订,但现在已经过去了很长时间,没有必要讨论ES5之前的代码是如何工作的了。 由于ES5.1和ES6之间过去了很长时间,因此发布版本中充满了重要的新功能和对JavaScript程序开发中推荐最佳实践的重大变化。要了解ES2015有多么基础,请记住,随着这个版本,规范文档从250页增加到了~600页。 本文描述了最重要的变化。 箭头函数 自引入以来,箭头函数改变了大多数JavaScript代码的外观(和工作原理)。 从视觉上看,这是一个简单而受欢迎的变化,从: const something = function something() { //... } 到 const something = () => { //... } 如果函数体只有一行代码,只需: const something = () => doSomething() 此外,如果只有一个参数,可以写成: const something = param => doSomething(param) 这并不是一个破坏性的变化,常规的function仍然像以前一样工作。 新的this作用域 箭头函数的this作用域是从上下文继承的。...

Node.js 核心模塊

Node.js 提供了一系列的核心模塊,這些模塊是 Node.js 平臺的一部分,並與 Node.js 安裝一同提供。 以下是其中一些模塊的詳細資訊: 名稱 描述 assert 提供一組有用於測試的斷言函數 buffer 提供處理包含二進制數據的緩衝區的能力 child_process 提供生成子進程的能力 console 提供簡單的調試控制台 cluster 允許將一個 Node.js 進程分為多個工作進程,以充分利用多核系統 crypto 提供加密功能 dgram 提供 UDP 數據報插座的實現 dns 提供名稱解析和 DNS 查詢 events 提供管理事件的 API fs 提供與文件系統交互的 API http 提供 HTTP 客戶端/服務器的實現 http2 提供 HTTP/2 客戶端/服務器的實現 https 提供 HTTPS 客戶端/服務器的實現 net 提供異步網絡 API os 提供與操作系統相關的實用方法和屬性 path 提供處理文件和目錄路徑的實用工具 perf_hooks 用於啟用性能指標的收集 process 提供關於當前 Node.js 進程的信息和控制 querystring 提供解析和格式化 URL 查詢字符串的實用工具 readline 提供從可讀流中讀取數據的界面 repl 提供獨立程序或可包含在其他應用中的 REPL(Read-Eval-Print-Loop)實現 stream 用於處理流式數據的抽象接口 string_decoder 提供將緩衝區對象解碼為字符串的 API timers 提供調度在未來某個時間點調用函數的功能 tls 提供 Transport Layer Security(TLS)和 Secure Socket Layer(SSL)協議的實現 tty 提供在文本終端中進行 I/O 操作的功能 url 提供 URL 解析和解析的實用工具 util 支持 Node....

介紹 ES 模組

ES 模組是 ECMAScript 的模組化標準。儘管 Node.js 已經使用 CommonJS 標準多年,但瀏覽器從未擁有模組系統,因為關鍵的決策,如模組系統,必須首先由 ECMAScript 標準化,然後由瀏覽器實現。 這個標準化過程於 ES6 完成,瀏覽器開始實現這個標準,盡力保持一切保持協調,以相同的方式工作,現在 ES 模組在 Chrome、Safari、Edge 和 Firefox(版本 60 以後)中得到支援。 模組非常強大,因為它可以將各種功能封裝起來,並將這些功能作為庫暴露給其他 JavaScript 檔案。 ES 模組語法 導入模組的語法如下: import package from 'module-name' 而 CommonJS 使用: const package = require('module-name') 模組是一個使用 export 關鍵字將一個或多個值(物件、函式或變數)導出的 JavaScript 檔案。例如,這個模組導出了一個將字串轉換為大寫的函式: export default str => str.toUpperCase() 在這個例子中,模組定義了一個預設導出,所以可以是一個匿名函式。否則它需要一個名稱來區別於其他導出。 現在,任何其他的 JavaScript 模組可以透過導入它來使用 uppercase.js 提供的功能。 可以通過使用具有特殊屬性 type="module" 的 <script> 標籤將模組添加到 HTML 頁面中: <script type="module" src="index.js"></script> 注意:這種模組導入的行為類似於 defer 的腳本加載。請參見 使用 defer 和 async 高效加載 JavaScript...