yytypescript/book

Clarification on Object Type Usage in TypeScript

huavcjj opened this issue · 1 comments

https://github.com/yytypescript/book/edit/master/docs/reference/values-types-variables/object/object-literal.md

Hello,
In the current documentation, there is an example where the following code results in a TypeScript error:
const person = new Object();
person.name = "Bob"; // Error: Property 'name' does not exist on type 'Object'.
person.age = 25; // Error: Property 'age' does not exist on type 'Object'.

The explanation states that while this works without issues in JavaScript, TypeScript’s type system prevents adding custom properties to the Object type, which is why properties like name and age are not recognized and result in errors.

By clarifying this point further, I believe it would make it easier for readers to understand. I would appreciate your consideration.

@huavcjj Thank you for your perceptive comments! Here is a your translation 👇

現在のドキュメントでは、以下のコードが TypeScript エラーになる例がある:
const person = new Object();
person.name = 「Bob」; // エラー: property 'name' does not exist on type 'Object'.
person.age = 25; // エラー: プロパティ'age'が'Object'型に存在しません。

説明によると、JavaScriptでは問題なく動作するが、TypeScriptの型システムではObject型にカスタムプロパティを追加することができないため、nameやageのようなプロパティが認識されず、エラーになるとのことだ。

この点をさらに明確にすることで、読者にもわかりやすくなると思います。ご一考いただければ幸いです。