{"action":"created","comment":{"url":"https://api.github.com/repos/xitu/gold-miner/pulls/comments/215581048","pull_request_review_id":152865560,"id":215581048,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxNTU4MTA0OA==","diff_hunk":"@@ -2,64 +2,64 @@\n > * 原文作者：[Mary Branscombe](https://thenewstack.io/author/marybranscombe/)\n > * 译文出自：[掘金翻译计划](https://github.com/xitu/gold-miner)\n > * 本文永久链接：[https://github.com/xitu/gold-miner/blob/master/TODO1/whats-coming-up-in-javascript-2018-async-generators-better-regex.md](https://github.com/xitu/gold-miner/blob/master/TODO1/whats-coming-up-in-javascript-2018-async-generators-better-regex.md)\n-> * 译者：\n+> * 译者：[MeFelixWang](https://github.com/MeFelixWang)\n > * 校对者：\n \n ![](https://cdn.thenewstack.io/media/2018/08/ba3bc5a9-res-3615421_1920-1024x681.jpg)\n \n-The latest annual [ECMAScript update](http://www.ecma-international.org/ecma-262/9.0/index.html), published in June 2018, is the largest yearly release so far, although still far smaller than ECMAScript 6 with its backlog of already common features.\n+2018 年 6 月发布的最新年度[ ECMAScript 更新](http://www.ecma-international.org/ecma-262/9.0/index.html)，尽管在常见功能的积压上仍然远远小于 ECMAScript 6，但依然是迄今为止最大的年度版本。\n \n-The two biggest developer features in this release are async generators and some long-awaited improvements to regular expressions, along with rest/spread properties, [Brian Terlson](https://github.com/bterlson), the editor of ECMAScript and Microsoft’s representative on the [ECMA TC39 committee](https://github.com/tc39), told The New Stack.\n+身为 ECMAScript 编辑及微软在 [ECMA TC39 委员会]((https://github.com/tc39))代表的 [Brian Terlson](https://github.com/bterlson) 告诉 The New Stack：这个版本中两个最大的开发者功能是异步生成器和一些期待已久的正则表达式改进，以及 rest/spread 属性，。\n \n-“Async generators and iterators are what you get when you combine an async function and an iterator so it’s like an async generator you can wait in or an async function you can yield from,” he explained. Previously, ECMAScript allowed you to write a function you could yield in or wait in but not both. “This is really convenient for consuming streams which are becoming more and more part of the web platform, especially with the Fetch object exposing streams.”\n+“异步生成器和迭代器是将异步函数和迭代器结合起来的结果，所以它就像你可以在其中等待的异步生成器或你可以从中得到返回值的异步函数，”他解释道。以前，ECMAScript 允许你编写一个可以输入或等待但不能同时进行两者操作的函数。“这对于在 Web 平台占比越来越大的消费流来说非常方便，尤其是在 Fetch 对象公开流的情况下。”\n \n-The async iterator is similar to the Observable pattern, but more flexible. “An Observable is a push model; once you subscribe to it, you get blasted with events and notifications at full speed whether you’re ready or not, so you have to implement buffering or sampling strategies to deal with chattiness,” Terlson explained. The async iterator is a push-pull model — you ask for a value and it gets sent to you — which works better for things like network IO primitives.\n+异步迭代器类似于 Observable 模式，但更灵活。“Observable 是推模型; 一旦你订阅了它，无论你是否准备好，你都会得到全速的爆炸式的事件和通知，所以你必须实施缓冲或采样策略来处理干扰，”Terlson 解释道。异步迭代器是一种推拉模型 —— 你请求一个值后发送给你 —— 这对于诸如网络 IO 原语之类的东西更有效。\n \n-[Promise.prototype.finally](https://github.com/tc39/proposal-promise-finally) is also helpful for async programming, assign a final method to handle cleanup after a promise is either fulfilled or rejected.\n+[Promise.prototype.finally](https://github.com/tc39/proposal-promise-finally) 对异步编程也很有帮助，在一个 promise 状态变为 fulfilled 或 rejected 后，指定一个最终方法来进行清理。\n \n-## More Regular Regexps\n+## 更多常规正则表达式\n \n-Terlson is particularly excited about the improvements to regular expressions (where much of the work has been done by the V8 team, who already have early implementations of the four main features), as this is an area where the language has fallen behind.\n+Terlson 对正则表达式的改进感到特别兴奋（其中大部分工作都是由 V8 团队完成的，他们已经完成了这四个主要功能的早期实现），因为这是此语言落后的领域。\n \n-“ECMAScript regexps haven’t advanced significantly since day one of JavaScript; pretty much every other programming language has regexp libraries with far more advanced capabilities than ECMAScript regexps.” ECMAScript 6 included [some minor updates](http://2ality.com/2015/07/regexp-es6.html) but he views ECMAScript 2018 as “the first update to significantly change the game for how you write regular expressions”.\n+“自从 JavaScript 诞生之日起，ECMAScript 正则表达式就没有过显着进步；几乎所有其他编程语言的正则表达式库都比 ECMAScript 的功能高级。“ECMAScript 6 包含了[一些小的更新](http://2ality.com/2015/07/regexp-es6.html)，但他将 ECMAScript 2018 视为“第一次明显改变你如何编写正则表达式的更新”。\n \n-The [dotAll flag](https://github.com/tc39/proposal-regexp-dotall-flag) makes the dot character match all characters, instead of failing to match some line breaks (like n or f). “You can’t use dot unless you’re in multiline mode and you don’t care about line endings,” he points out. Workarounds for that have created unnecessarily complex regexps and Terlson expects that “pretty much everyone will always engage that mode in regexp”.\n+[dotAll 标志](https://github.com/tc39/proposal-regexp-dotall-flag)使点字符匹配所有字符，而不再会对匹配一些换行符（比如 n 或 f ）无效。“你不能使用点字符，除非你处于多行模式并且你不关心每行的结束，”他指出。这方面的变通办法创造了一些不必要的复杂的正则表达式，Terlson 期望“每个人都能在正则表达式中使用该模式”。\n \n-[Named capture groups](https://github.com/tc39/proposal-regexp-named-groups) are similar to named groups in many other languages, where you can name the different portions of a string that a regular expression matches and treat that as an object. “It’s almost like a comment in your regular expression to explain what the group is trying to capture by giving it a name,” he explains. “This part of the pattern is the month, this is the date of birth… it’s really helpful to make your patterns maintainable by someone else in the future.”\n+[命名捕获组](https://github.com/tc39/proposal-regexp-named-groups)与许多其他语言中的命名组类似，你可以在命名正则表达式匹配的字符串中的不同部分，并将其视为对象。“这几乎等同于在你的正则表达式中添加注释，通过赋予它一个名字来解释该组试图捕捉的内容，”他解释道。“这个模式的一部分是月份，这是出生日期......这对于未来其他人维护你的模式真的很有帮助。”\n \n-There are other proposals for free spacing, which tells the regexp engine to ignore white space and line breaks inside a pattern match, and comments, which will allow comments at the end of lines after spaces, which may be included in future versions of ECMAScript and would further improve maintainability.\n+还有其他关于空格的提案，即告诉正则表达式引擎忽略模式匹配中的空格、换行符以及注释，允许在空格后的行尾添加注释，这种特性可能包含在 ECMAScript 的未来版本中并将进一步提高可维护性。\n \n-Previously ECMAScript has lookaheads but not lookbehinds. “People did tricks like reversing the string and then doing the match, or some other hacks,” notes Terlson. This will be particularly useful for regexps that do find and replace. “What you look at doesn’t become part of your match, so if you’re replacing a number that has a dollar sign on either side you can do that without having to do extra work to put the dollar sign back in.” The ECMAScript [lookbehind](https://github.com/tc39/proposal-regexp-lookbehind) allows variable length lookbehinds like C#, rather than only the fixed length patterns of Perl lookbehinds.\n+以前 ECMAScript 有先行断言但没有后行断言。“人们使用了一些技巧，比如反转字符串，然后进行匹配，或一些其他 hacks，”Terlson 指出。这对于查找和替换的正则表达式特别有用。“你看到的并没有成为你匹配的一部分，所以如果你要替换前后任何一边有美元符号的数字，你就可以做到这一点而无需做额外的工作将美元符号重新放回去。”ECMAScript [后行断言](https://github.com/tc39/proposal-regexp-lookbehind)允许像 C# 中那样的可变长度的后行断言，而不仅仅是 Perl 中的固定长度模式。\n \n-Especially for developers supporting international users, allowing [Unicode property escapes](https://github.com/tc39/proposal-regexp-unicode-property-escapes#ecmascript-proposal-unicode-property-escapes-in-regular-expressions) `\\\\p{…}` and `\\\\P{…}` in regular expressions will make it far easier to create Unicode-aware regexps. Today, that’s a lot of work for developers.\n+特别是对于需要支持国际用户的开发人员，允许在正则表达式中使用 [Unicode 属性转义](https://github.com/tc39/proposal-regexp-unicode-property-escapes#ecmascript-proposal-unicode-property-escapes-in-regular-expressions)  `\\\\p{…}` 和 `\\\\P{…}` 将使创建 Unicode 可识别的正则表达式变得更加容易。目前，这对开发人员来说是件很麻烦的事。\n \n-“Unicode defines numbers and numbers include not just the base Latin ASCII 0 to 9 but also mathematical numbers, bold numbers, outline numbers, fancy presentation numbers, tabular figures. If you want to match anything that’s a number in Unicode, a Unicode-aware application had to have the whole Unicode data tables available. By adding this feature, you can delegate all of that to Unicode,” he said. If you wanted to match Unicode characters in a rigorous way, say for doing form validation, and you want to do the right thing and not tell people that their names are invalid, that’s tough to do in a lot of cases but with Unicode character classes you can be explicit about the ranges of characters want by name. There are classes for different languages and scripts, so if you just want to deal with Greek or Chinese characters, you can. Emojis are becoming more common.\n+“Unicode 定义了数字，但这些数字不仅包括基本拉丁语 ASCII 0 到 9，还包括数学数字，粗体数字，大纲数字，花哨的演示数字，表格数字。如果要匹配 Unicode 中的任何数字，则 Unicode 可识别的应用程序必须具有可用的整个 Unicode 数据表。通过添加此功能，你可以将这些全部委托给 Unicode，”他说。如果你想以严格的方式匹配 Unicode 字符，比如说进行表单验证，并且你想做正确的事情而不是告诉人们他们的名称是无效的，这在很多情况下很难做到，但是使用 Unicode 字符类你可以明确指出名称所需的字符范围。已经有了不同语言和脚本的类，所以如果你只想处理希腊语或汉字，完全可以做到。Emoji 正变得越来越普遍。\n \n-There are also some new internationalization APIs, for localized [date and time formats](https://github.com/tc39/proposal-intl-formatToParts), Euro currency formats, and [plurals](https://github.com/tc39/proposal-intl-plural-rules), which will make it easier to do things like localizing labels and buttons.\n+还有一些新的国际化 API，用于本地化的[日期和时间格式](https://github.com/tc39/proposal-intl-formatToParts)，欧元货币格式和[复数形式](https://github.com/tc39/proposal-intl-plural-rules)，这样可以更轻松地执行本地化标签和按钮等操作。\n \n-ECMAScript 2018 extends support for the rest and spread pattern (which is so common in the React ecosystem that many developers don’t realize it isn’t already fully standardized) [to objects](https://github.com/tc39/proposal-object-rest-spread) as well as arrays, which Terlson calls a small feature with an outsized impact. Rest and spread is useful for copying and cloning objects, for example, if you have an immutable structure where you want to change everything except one property, or you want to duplicate an object but add an additional property. This pattern is frequently used for assigning defaults for option records, Terlson notes. “It’s a very nice syntactical pattern for something you do all the time.”\n+ECMAScript 2018 扩展了[对象](https://github.com/tc39/proposal-object-rest-spread)和数组对 rest 和 spread 模式的支持（在 React 生态系统中很常见，许多开发人员都没有意识到它还没有完全标准化），Terlson 称之为有超大影响的小功能。rest 和 spread 对于复制和克隆对象很有用，例如，如果你有一个不可变的结构，而你要更改除一个属性之外的所有内容，或者你​​想复制一个对象但添加一个额外的属性。Terlson 指出，这种模式经常用于为选项记录分配默认值。“对于你一直在做的事情来说，这是一个非常好的语法模式。”\n \n-A number of the ECMAScript 2018 features are already supported in transpilers like Babel and TypeScript. Browser support will arrive over time, and all of the new features are already in shipping versions of Chrome (for a full matrix of support, check the [ECMAScript compatibility table](http://kangax.github.io/compat-table/es2016plus/).)\n+Babel 和 TypeScript 等转换器已经支持 ECMAScript 2018 的许多功能。浏览器支持也将随着时间的推移实现，并且所有新功能都已经在 Chrome 的发布版本中（要获得完整的支持矩阵图表，请查看[ ECMAScript 兼容性表](http://kangax.github.io/compat-table/es2016plus/)。）\n \n [![](https://cdn.thenewstack.io/media/2018/08/cf694974-ecmascript.png)](https://cdn.thenewstack.io/media/2018/08/cf694974-ecmascript.png)\n \n-Browser support as detected by the ECMAScript Compatibility Table.\n+ECMAScript 兼容性表检测到的浏览器支持情况。\n \n-## Future Developments; ECMAScript 2019\n+## 未来发展；ECMAScript 2019\n \n-Some interesting proposals haven’t yet made to the stage four level necessary to become part of the ECMAScript standard, including the slightly controversial idea of declarations for private fields and methods, which is covered by a number of alternative proposals.\n+一些有趣的提案尚未达到成为 ECMAScript 标准的一部分所必需的第四阶段，包括对私有字段和方法的声明略有争议的想法，其中包括许多备选提案。\n \n-When classes were introduced in ECMAScript 6 they were “maximally minimal”, which Terlson explains as meaning “deliberately small [in scope] with the idea being that we would go ahead and work on them later.” Private fields would allow developers to declare fields in a class that they could reference by name inside the class, but not have access to from outside the class,” he said. Not only does that offer better performance, because the runtime can optimize handling for objects better when all the fields are declared in the class constructor, but the privacy is enforced by the language in a way that private fields in TypeScript aren’t. Unlike symbols, where you can use get properties to list all the symbols on an object, private fields won’t allow reflection.\n+当在 ECMAScript 6 中引入类时，它们是“极小的”，Terlson 解释为“故意在很小[范围]，因为我们将在以后继续处理它们。”私有字段允许开发人员声明可以在类的内部通过名称进行引用的字段，但不能从类的外部访问，”他说。这不只是提供了更好的性能，因为当在类构造函数中声明所有字段时，运行时可以更好地优化对象的处理，但也是语言强制实现隐私，而 TypeScript 中的私有字段则不是这样。与 symbols 不同，你可以使用 get 属性列出对象上的所有 symbols，私有字段将不允许反射。\n \n-“Library authors are asking for a way to have private state so that developers can’t depend on it,” explained Terlson. “Libraries don’t like to break users even when they do things they’re not supposed to.” Private properties in classes would allow library authors to avoid exposing internal implementation details, for example, if they’re likely to change in the future.\n+“库作者正在寻求一种拥有私人状态的方式，以便开发者不能依赖它，”Terlson 解释道。“即使做了他们不应该做的事情，库也不喜欢打断用户。”例如，类中的私有属性将允许库作者避免暴露内部实现细节，如果他们将来可能会修改的话。\n \n-Also at stage three is the BigInt proposal. Currently, ECMAScript has only the 64-bit floating point number type, but many platforms and web APIs use 64-bit integers — including the 64-bit integers that [Twitter uses as IDs for tweets](https://dev.twitter.com/overview/api/twitter-ids-json-and-snowflake). “You can’t represent tweet IDs in JavaScript as a number anymore,” Terlson explains; “they have to represented as a string.” Rather just adding 64-bit integers, BigInt is a more general proposal to add arbitrary precision integers. Cryptographic APIs and high-resolution timers will also take advantage of this, and Terlson expects that there may be some performance improvements from JIT JavaScript engines using native 64-bit fields to deliver big integers.\n+BigInt 提案也处于第三阶段。目前，ECMAScript 只有 64 位浮点数类型，但许多平台和 web API 使用 64 位整数 —— 包括[ Twitter 用作推文 ID ](https://dev.twitter.com/overview/api/twitter-ids-json-and-snowflake)的 64 位整数。“你不能再将 JavaScript 中的推文 ID 表示为数字，”Terlson 解释道。“它们必须表示为一个字符串。”BigInt 是一个更通用的提案，用于添加任意精度的整数，而不只是添加 64 位整数。加密 API 和高精度计时器也将利用这一点，Terlson 预计 JIT JavaScript 引擎可能会使用原生 64 位字段来提供大整数以提升性能。\n \n-Two proposals have already made it to stage four; making catch binding optional (so that you no longer have to pass a variable to a catch block if you don’t need actually to use a variable), and [small syntax changes](https://github.com/tc39/proposal-json-superset) to deal with a mismatch between JSON and ECMAScript string formatting. These will arrive in ECMAScript 2019, along with the other proposals that progress during the next few months.\n+两项提案已经进入第四阶段；让 catch 绑定成为可选项（如果你不需要实际使用变量，就不必再将变量传递给 catch 块），以及进行[小的语法更改](https://github.com/tc39/proposal-json-superset)以处理 JSON 和 ECMAScript 字符串格式之间的不匹配。这些将与其他在未来几个月内取得进展的提案一起进入 ECMAScript 2019。\n \n-Microsoft is a sponsor of The New Stack.\n+微软是 The New Stack 的赞助商。\n \n-Feature image [via](https://pixabay.com/en/res-the-wind-pbx-current-3615421/) Pixabay.\n+功能图[来自](https://pixabay.com/en/res-the-wind-pbx-current-3615421/) Pixabay。","path":"TODO1/whats-coming-up-in-javascript-2018-async-generators-better-regex.md","position":88,"original_position":88,"commit_id":"57562093a7b114a093ef25fba8946047c2e1342a","original_commit_id":"57562093a7b114a093ef25fba8946047c2e1342a","user":{"login":"CoderMing","id":25007676,"node_id":"MDQ6VXNlcjI1MDA3Njc2","avatar_url":"https://avatars2.githubusercontent.com/u/25007676?v=4","gravatar_id":"","url":"https://api.github.com/users/CoderMing","html_url":"https://github.com/CoderMing","followers_url":"https://api.github.com/users/CoderMing/followers","following_url":"https://api.github.com/users/CoderMing/following{/other_user}","gists_url":"https://api.github.com/users/CoderMing/gists{/gist_id}","starred_url":"https://api.github.com/users/CoderMing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CoderMing/subscriptions","organizations_url":"https://api.github.com/users/CoderMing/orgs","repos_url":"https://api.github.com/users/CoderMing/repos","events_url":"https://api.github.com/users/CoderMing/events{/privacy}","received_events_url":"https://api.github.com/users/CoderMing/received_events","type":"User","site_admin":false},"body":"功能图 -> 首页图。 具体参见 https://en.support.wordpress.com/featured-images/","created_at":"2018-09-06T10:49:22Z","updated_at":"2018-09-06T10:49:38Z","html_url":"https://github.com/xitu/gold-miner/pull/4394#discussion_r215581048","pull_request_url":"https://api.github.com/repos/xitu/gold-miner/pulls/4394","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/xitu/gold-miner/pulls/comments/215581048"},"html":{"href":"https://github.com/xitu/gold-miner/pull/4394#discussion_r215581048"},"pull_request":{"href":"https://api.github.com/repos/xitu/gold-miner/pulls/4394"}}},"pull_request":{"url":"https://api.github.com/repos/xitu/gold-miner/pulls/4394","id":212878778,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEyODc4Nzc4","html_url":"https://github.com/xitu/gold-miner/pull/4394","diff_url":"https://github.com/xitu/gold-miner/pull/4394.diff","patch_url":"https://github.com/xitu/gold-miner/pull/4394.patch","issue_url":"https://api.github.com/repos/xitu/gold-miner/issues/4394","number":4394,"state":"open","locked":false,"title":"JavaScript 2018 中即将迎来的新功能：异步生成器及更好的正则表达式","user":{"login":"MeFelixWang","id":26833355,"node_id":"MDQ6VXNlcjI2ODMzMzU1","avatar_url":"https://avatars0.githubusercontent.com/u/26833355?v=4","gravatar_id":"","url":"https://api.github.com/users/MeFelixWang","html_url":"https://github.com/MeFelixWang","followers_url":"https://api.github.com/users/MeFelixWang/followers","following_url":"https://api.github.com/users/MeFelixWang/following{/other_user}","gists_url":"https://api.github.com/users/MeFelixWang/gists{/gist_id}","starred_url":"https://api.github.com/users/MeFelixWang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MeFelixWang/subscriptions","organizations_url":"https://api.github.com/users/MeFelixWang/orgs","repos_url":"https://api.github.com/users/MeFelixWang/repos","events_url":"https://api.github.com/users/MeFelixWang/events{/privacy}","received_events_url":"https://api.github.com/users/MeFelixWang/received_events","type":"User","site_admin":false},"body":"JavaScript 2018 中即将迎来的新功能：异步生成器及更好的正则表达式\r\n\r\n译文翻译完成，resolve #4385\r\n","created_at":"2018-09-04T07:26:04Z","updated_at":"2018-09-06T10:49:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e6877ba5e3ef5304e1a4e363a92d018a796ece31","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":514335594,"node_id":"MDU6TGFiZWw1MTQzMzU1OTQ=","url":"https://api.github.com/repos/xitu/gold-miner/labels/%E5%89%8D%E7%AB%AF","name":"前端","color":"1d76db","default":false},{"id":329563971,"node_id":"MDU6TGFiZWwzMjk1NjM5NzE=","url":"https://api.github.com/repos/xitu/gold-miner/labels/%E6%A0%A1%E5%AF%B9%E8%AE%A4%E9%A2%86","name":"校对认领","color":"ff5722","default":false},{"id":322084033,"node_id":"MDU6TGFiZWwzMjIwODQwMzM=","url":"https://api.github.com/repos/xitu/gold-miner/labels/%E6%AD%A3%E5%9C%A8%E6%A0%A1%E5%AF%B9","name":"正在校对","color":"c2e0c6","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/xitu/gold-miner/pulls/4394/commits","review_comments_url":"https://api.github.com/repos/xitu/gold-miner/pulls/4394/comments","review_comment_url":"https://api.github.com/repos/xitu/gold-miner/pulls/comments{/number}","comments_url":"https://api.github.com/repos/xitu/gold-miner/issues/4394/comments","statuses_url":"https://api.github.com/repos/xitu/gold-miner/statuses/57562093a7b114a093ef25fba8946047c2e1342a","head":{"label":"MeFelixWang:translation/JavaScript-2018-中即将迎来的新功能：异步生成器及更好的正则表达式","ref":"translation/JavaScript-2018-中即将迎来的新功能：异步生成器及更好的正则表达式","sha":"57562093a7b114a093ef25fba8946047c2e1342a","user":{"login":"MeFelixWang","id":26833355,"node_id":"MDQ6VXNlcjI2ODMzMzU1","avatar_url":"https://avatars0.githubusercontent.com/u/26833355?v=4","gravatar_id":"","url":"https://api.github.com/users/MeFelixWang","html_url":"https://github.com/MeFelixWang","followers_url":"https://api.github.com/users/MeFelixWang/followers","following_url":"https://api.github.com/users/MeFelixWang/following{/other_user}","gists_url":"https://api.github.com/users/MeFelixWang/gists{/gist_id}","starred_url":"https://api.github.com/users/MeFelixWang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MeFelixWang/subscriptions","organizations_url":"https://api.github.com/users/MeFelixWang/orgs","repos_url":"https://api.github.com/users/MeFelixWang/repos","events_url":"https://api.github.com/users/MeFelixWang/events{/privacy}","received_events_url":"https://api.github.com/users/MeFelixWang/received_events","type":"User","site_admin":false},"repo":{"id":143883490,"node_id":"MDEwOlJlcG9zaXRvcnkxNDM4ODM0OTA=","name":"gold-miner","full_name":"MeFelixWang/gold-miner","owner":{"login":"MeFelixWang","id":26833355,"node_id":"MDQ6VXNlcjI2ODMzMzU1","avatar_url":"https://avatars0.githubusercontent.com/u/26833355?v=4","gravatar_id":"","url":"https://api.github.com/users/MeFelixWang","html_url":"https://github.com/MeFelixWang","followers_url":"https://api.github.com/users/MeFelixWang/followers","following_url":"https://api.github.com/users/MeFelixWang/following{/other_user}","gists_url":"https://api.github.com/users/MeFelixWang/gists{/gist_id}","starred_url":"https://api.github.com/users/MeFelixWang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MeFelixWang/subscriptions","organizations_url":"https://api.github.com/users/MeFelixWang/orgs","repos_url":"https://api.github.com/users/MeFelixWang/repos","events_url":"https://api.github.com/users/MeFelixWang/events{/privacy}","received_events_url":"https://api.github.com/users/MeFelixWang/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/MeFelixWang/gold-miner","description":"🥇掘金翻译计划，可能是世界最大最好的英译中技术社区，最懂读者和译者的翻译平台：","fork":true,"url":"https://api.github.com/repos/MeFelixWang/gold-miner","forks_url":"https://api.github.com/repos/MeFelixWang/gold-miner/forks","keys_url":"https://api.github.com/repos/MeFelixWang/gold-miner/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MeFelixWang/gold-miner/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MeFelixWang/gold-miner/teams","hooks_url":"https://api.github.com/repos/MeFelixWang/gold-miner/hooks","issue_events_url":"https://api.github.com/repos/MeFelixWang/gold-miner/issues/events{/number}","events_url":"https://api.github.com/repos/MeFelixWang/gold-miner/events","assignees_url":"https://api.github.com/repos/MeFelixWang/gold-miner/assignees{/user}","branches_url":"https://api.github.com/repos/MeFelixWang/gold-miner/branches{/branch}","tags_url":"https://api.github.com/repos/MeFelixWang/gold-miner/tags","blobs_url":"https://api.github.com/repos/MeFelixWang/gold-miner/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MeFelixWang/gold-miner/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MeFelixWang/gold-miner/git/refs{/sha}","trees_url":"https://api.github.com/repos/MeFelixWang/gold-miner/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MeFelixWang/gold-miner/statuses/{sha}","languages_url":"https://api.github.com/repos/MeFelixWang/gold-miner/languages","stargazers_url":"https://api.github.com/repos/MeFelixWang/gold-miner/stargazers","contributors_url":"https://api.github.com/repos/MeFelixWang/gold-miner/contributors","subscribers_url":"https://api.github.com/repos/MeFelixWang/gold-miner/subscribers","subscription_url":"https://api.github.com/repos/MeFelixWang/gold-miner/subscription","commits_url":"https://api.github.com/repos/MeFelixWang/gold-miner/commits{/sha}","git_commits_url":"https://api.github.com/repos/MeFelixWang/gold-miner/git/commits{/sha}","comments_url":"https://api.github.com/repos/MeFelixWang/gold-miner/comments{/number}","issue_comment_url":"https://api.github.com/repos/MeFelixWang/gold-miner/issues/comments{/number}","contents_url":"https://api.github.com/repos/MeFelixWang/gold-miner/contents/{+path}","compare_url":"https://api.github.com/repos/MeFelixWang/gold-miner/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MeFelixWang/gold-miner/merges","archive_url":"https://api.github.com/repos/MeFelixWang/gold-miner/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MeFelixWang/gold-miner/downloads","issues_url":"https://api.github.com/repos/MeFelixWang/gold-miner/issues{/number}","pulls_url":"https://api.github.com/repos/MeFelixWang/gold-miner/pulls{/number}","milestones_url":"https://api.github.com/repos/MeFelixWang/gold-miner/milestones{/number}","notifications_url":"https://api.github.com/repos/MeFelixWang/gold-miner/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MeFelixWang/gold-miner/labels{/name}","releases_url":"https://api.github.com/repos/MeFelixWang/gold-miner/releases{/id}","deployments_url":"https://api.github.com/repos/MeFelixWang/gold-miner/deployments","created_at":"2018-08-07T14:16:45Z","updated_at":"2018-09-03T05:34:51Z","pushed_at":"2018-09-05T02:59:43Z","git_url":"git://github.com/MeFelixWang/gold-miner.git","ssh_url":"git@github.com:MeFelixWang/gold-miner.git","clone_url":"https://github.com/MeFelixWang/gold-miner.git","svn_url":"https://github.com/MeFelixWang/gold-miner","homepage":"https://juejin.im/tag/掘金翻译计划","size":36031,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"xitu:master","ref":"master","sha":"6d4b5f42bf145fe5a93871d65566310cba655104","user":{"login":"xitu","id":10482599,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwNDgyNTk5","avatar_url":"https://avatars2.githubusercontent.com/u/10482599?v=4","gravatar_id":"","url":"https://api.github.com/users/xitu","html_url":"https://github.com/xitu","followers_url":"https://api.github.com/users/xitu/followers","following_url":"https://api.github.com/users/xitu/following{/other_user}","gists_url":"https://api.github.com/users/xitu/gists{/gist_id}","starred_url":"https://api.github.com/users/xitu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xitu/subscriptions","organizations_url":"https://api.github.com/users/xitu/orgs","repos_url":"https://api.github.com/users/xitu/repos","events_url":"https://api.github.com/users/xitu/events{/privacy}","received_events_url":"https://api.github.com/users/xitu/received_events","type":"Organization","site_admin":false},"repo":{"id":45512989,"node_id":"MDEwOlJlcG9zaXRvcnk0NTUxMjk4OQ==","name":"gold-miner","full_name":"xitu/gold-miner","owner":{"login":"xitu","id":10482599,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwNDgyNTk5","avatar_url":"https://avatars2.githubusercontent.com/u/10482599?v=4","gravatar_id":"","url":"https://api.github.com/users/xitu","html_url":"https://github.com/xitu","followers_url":"https://api.github.com/users/xitu/followers","following_url":"https://api.github.com/users/xitu/following{/other_user}","gists_url":"https://api.github.com/users/xitu/gists{/gist_id}","starred_url":"https://api.github.com/users/xitu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xitu/subscriptions","organizations_url":"https://api.github.com/users/xitu/orgs","repos_url":"https://api.github.com/users/xitu/repos","events_url":"https://api.github.com/users/xitu/events{/privacy}","received_events_url":"https://api.github.com/users/xitu/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/xitu/gold-miner","description":"🥇掘金翻译计划，可能是世界最大最好的英译中技术社区，最懂读者和译者的翻译平台：","fork":false,"url":"https://api.github.com/repos/xitu/gold-miner","forks_url":"https://api.github.com/repos/xitu/gold-miner/forks","keys_url":"https://api.github.com/repos/xitu/gold-miner/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xitu/gold-miner/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xitu/gold-miner/teams","hooks_url":"https://api.github.com/repos/xitu/gold-miner/hooks","issue_events_url":"https://api.github.com/repos/xitu/gold-miner/issues/events{/number}","events_url":"https://api.github.com/repos/xitu/gold-miner/events","assignees_url":"https://api.github.com/repos/xitu/gold-miner/assignees{/user}","branches_url":"https://api.github.com/repos/xitu/gold-miner/branches{/branch}","tags_url":"https://api.github.com/repos/xitu/gold-miner/tags","blobs_url":"https://api.github.com/repos/xitu/gold-miner/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xitu/gold-miner/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xitu/gold-miner/git/refs{/sha}","trees_url":"https://api.github.com/repos/xitu/gold-miner/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xitu/gold-miner/statuses/{sha}","languages_url":"https://api.github.com/repos/xitu/gold-miner/languages","stargazers_url":"https://api.github.com/repos/xitu/gold-miner/stargazers","contributors_url":"https://api.github.com/repos/xitu/gold-miner/contributors","subscribers_url":"https://api.github.com/repos/xitu/gold-miner/subscribers","subscription_url":"https://api.github.com/repos/xitu/gold-miner/subscription","commits_url":"https://api.github.com/repos/xitu/gold-miner/commits{/sha}","git_commits_url":"https://api.github.com/repos/xitu/gold-miner/git/commits{/sha}","comments_url":"https://api.github.com/repos/xitu/gold-miner/comments{/number}","issue_comment_url":"https://api.github.com/repos/xitu/gold-miner/issues/comments{/number}","contents_url":"https://api.github.com/repos/xitu/gold-miner/contents/{+path}","compare_url":"https://api.github.com/repos/xitu/gold-miner/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xitu/gold-miner/merges","archive_url":"https://api.github.com/repos/xitu/gold-miner/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xitu/gold-miner/downloads","issues_url":"https://api.github.com/repos/xitu/gold-miner/issues{/number}","pulls_url":"https://api.github.com/repos/xitu/gold-miner/pulls{/number}","milestones_url":"https://api.github.com/repos/xitu/gold-miner/milestones{/number}","notifications_url":"https://api.github.com/repos/xitu/gold-miner/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xitu/gold-miner/labels{/name}","releases_url":"https://api.github.com/repos/xitu/gold-miner/releases{/id}","deployments_url":"https://api.github.com/repos/xitu/gold-miner/deployments","created_at":"2015-11-04T03:29:13Z","updated_at":"2018-09-06T10:19:39Z","pushed_at":"2018-09-06T09:00:38Z","git_url":"git://github.com/xitu/gold-miner.git","ssh_url":"git@github.com:xitu/gold-miner.git","clone_url":"https://github.com/xitu/gold-miner.git","svn_url":"https://github.com/xitu/gold-miner","homepage":"https://juejin.im/tag/掘金翻译计划","size":36107,"stargazers_count":16107,"watchers_count":16107,"language":null,"has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2768,"mirror_url":null,"archived":false,"open_issues_count":29,"license":null,"forks":2768,"open_issues":29,"watchers":16107,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/xitu/gold-miner/pulls/4394"},"html":{"href":"https://github.com/xitu/gold-miner/pull/4394"},"issue":{"href":"https://api.github.com/repos/xitu/gold-miner/issues/4394"},"comments":{"href":"https://api.github.com/repos/xitu/gold-miner/issues/4394/comments"},"review_comments":{"href":"https://api.github.com/repos/xitu/gold-miner/pulls/4394/comments"},"review_comment":{"href":"https://api.github.com/repos/xitu/gold-miner/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/xitu/gold-miner/pulls/4394/commits"},"statuses":{"href":"https://api.github.com/repos/xitu/gold-miner/statuses/57562093a7b114a093ef25fba8946047c2e1342a"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"CoderMing"}}