Conversation
Deploying utcode-learn with
|
| Latest commit: |
eaef032
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://ccc35bff.utcode-learn.pages.dev |
| Branch Preview URL: | https://update-object-section.utcode-learn.pages.dev |
e63f44b to
8234fb7
Compare
ee7c24a to
e89dcc7
Compare
e89dcc7 to
74ab4aa
Compare
chelproc
left a comment
There was a problem hiding this comment.
「オブジェクトが値として扱える」ことが例なり問題なりで伝わりにくくなっている気がします。その辺りは補ってもいいんじゃないかと思いました。
あとは元からなかったですがオブジェクトリテラル自体が式で、その結果オブジェクトという値が得られる、的な感覚もあるといいなと思ったり。
docs/1-trial-session/11-object/_samples/change-location-property/script.js
Outdated
Show resolved
Hide resolved
|
@chelproc 遅くなってしまい、申し訳ありません...レビューの内容すべて反映しました!もう一度レビューお願いします。 |
|
確認問題を再度変更しました。 |
| tanaka.scores.japanese = 50; | ||
| document.write(tanaka.scores.japanese); | ||
| ``` | ||
| JavaScriptのオブジェクトは、<Term>プロパティ名</Term>と<Term>プロパティ値</Term>の組によって構成されていました。<Term>配列</Term>はオブジェクトの一種であるため、この原則に従って動作します。次の図に示すように、配列とは、各要素のインデックスが<Term>プロパティ名</Term>になっているオブジェクトです。 |
There was a problem hiding this comment.
配列は厳密には通常のオブジェクトと異なる種類のオブジェクトなので、原文では「~と考えることができる」のような言い方をしてます👀
There was a problem hiding this comment.
あとは前のコメントでも書きましたが「配列=添字がキーになったオブジェクト」はJavaScript特有のかなり特殊な仕様だと思うので、「配列とは~オブジェクトです」の前に「JavaScriptの-」と前置きをしておいたほうが他言語の学習の障害になりにくいかなという感覚はあります
There was a problem hiding this comment.
こちらについては、数値や文字列、論理値などのプリミティブ以外がすべてオブジェクトであるというところがJavaScriptに特有であるというような説明にして、配列についてはそこから演繹的に結論を出すというような文章にしたつもりでした。
There was a problem hiding this comment.
「プリミティブ以外がオブジェクト」は割とよくある設定なのでそんなにJS特有感はないですね
| オブジェクトを用いると、関連する<Term>値</Term>をまとめて1つの<Term>値</Term>として扱うことができます。これにより、事物をプログラム上でより現実世界に近い形で表現することができます。 | ||
|
|
||
| {/* prettier-ignore */} | ||
| <Term>オブジェクト</Term>は、複数の<Term>**プロパティ**</Term>と呼ばれる<Term>値</Term>を持ちます。 | ||
| <Term>プロパティ</Term>にはそれぞれ名前がついています。 | ||
| <Term>プロパティ</Term>の名前には文字列しか指定できませんが、<Term>プロパティ</Term>の<Term>値</Term>としては<Term>JavaScript</Term>で使用できるすべての<Term>値</Term>が使用可能です。 | ||
| たとえば、学生を例に考えてみましょう。学生には、名前や年齢、メールアドレスなどの情報があります。これをオブジェクトとして表現すると、次のようになります。このように、オブジェクトを使うことで、複数の情報をまとめて扱い現実の1人の学生をプログラム上でも1つの<Term>値</Term>として扱うことができます。 | ||
|
|
||
| ```javascript | ||
| const person = { name: "田中", age: 18 }; | ||
| { | ||
| name: "山田太郎", | ||
| age: 15, | ||
| email: "yamada.taro@example.com", | ||
| } | ||
| ``` | ||
|
|
||
|  | ||
| ## オブジェクトの作成 | ||
|
|
||
| オブジェクトは、次のようにして作成します。 | ||
|
|
||
| ```javascript | ||
| const student = { | ||
| name: "山田太郎", | ||
| age: 15, | ||
| email: "yamada.taro@example.com", | ||
| }; | ||
| ``` | ||
|
|
||
| ここでは、学生には、名前と年齢、メールアドレスの3つの情報があります。これらは、オブジェクトの**プロパティ**と呼ばれます。<Term type="javascriptProperty">プロパティ</Term>は、**プロパティ名**と**プロパティ値**の組で表されます。この例では、`name`や`age`、`email`が<Term>プロパティ名</Term>であり、`"山田太郎"`や`15`、`"yamada.taro@example.com"`が<Term>プロパティ値</Term>です。<Term>プロパティ名</Term>には文字列しか指定できませんが、<Term>プロパティ値</Term>には、JavaScriptで使用できるすべての<Term>値</Term>が指定可能です。 |
There was a problem hiding this comment.
このあたりがやっぱり同じことを2~3回繰り返しており冗長な感じがします!改善案考えてみます!
|
こんな感じでどうでしょう? |
「オブジェクト」の章を全面的に改訂しました。画像1枚以外についてはすべての行で差分が発生しているため、差分を見るよりは改訂後のファイルのみを見る方がレビューを行いやすいかと思います。