javascript-tutorial / javascript-tutorial/zh.javascript.info

[Suggestion] 建议在“构造函数和 "new" 运算符”章节末尾增加与现代 ES6 Class 的对比/过渡说明

オープン 初心者向け
#1,275 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
HTML
スター
10.8k
フォーク
1.2k
PR マージ指標
30日以内にマージされた PR はありません

説明

我在学习“[构造函数和 'new' 运算符](https://zh.javascript.info/constructor-new)”这一章节时,在现代编辑器(如 Zed)中尝试编写了页面中的示例代码:

```javascript
function User(name) {
this.name = name;
this.isAdmin = false;
}
let user = new User("Jack");

```

此时编辑器(内置的 TypeScript/JavaScript 语言服务)会弹出一个非常显眼的重构提示:

> `"This constructor function may be converted to a class declaration."`

对于初学者来说,看到这个提示可能会产生困惑(“既然教程教我用构造函数,为什么现代工具极力推荐我换成 class?”)。

### Suggested Improvement

为了让教程更具现代前瞻性,并完美衔接后续的 “Class” 章节,建议在本章末尾(例如在“总结”之前)增加一个**小提示(Notice/Sidebar)**,简要说明:

1. **为什么现代工具会给出这个提示:** 解释这是因为 ES6 引入了 `class`,它是构造函数的更安全的现代语法糖。
2. **核心区别(防错机制):** 简述构造函数漏写 `new` 会隐式失败(或污染全局),而 `class` 漏写 `new` 会直接抛出 `TypeError`,这也是 Linter/IDE 推荐重构的核心原因。
3. **引导:** 告诉读者现在可以继续学习构造函数以理解底层,后面会有专门的章节介绍 `class`。

这样可以及时解答读者在实际敲代码时遇到的编辑器警告,让教程与现代开发工具的反馈更加契合。

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

https://zh.javascript.info/constructor-new の「Constructors and the new operator」章から始め、ソースと概要のセクションを見つけてください。エディターの警告、コンストラクター関数とクラスにおける new の付け忘れの違い、後の Class 章を扱う短い注記を追加してください。ガイダンスが正確で明確であり、チュートリアルの既存のスタイルと一貫していれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript
領域
documentation
issue の種類
ドキュメント
難易度
2/5
見積もり時間
1〜3時間
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
68/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。