OSDN Git Service

Regular updates
[twpd/master.git] / flow.md
diff --git a/flow.md b/flow.md
index 4b58a31..10bff77 100644 (file)
--- a/flow.md
+++ b/flow.md
@@ -2,7 +2,7 @@
 title: Flow
 layout: 2017/sheet
 category: JavaScript libraries
-updated: 2018-11-07
+updated: 2020-07-05
 weight: -3
 tags: [Featurable]
 ---
@@ -144,7 +144,7 @@ See: [Optional properties](https://flow.org/en/docs/types/primitives/#toc-option
 ## Objects
 {: .-three-column}
 
-### Extra object fields
+### Width subtyping
 
 ```js
 type Artist = {
@@ -156,14 +156,13 @@ type Artist = {
 ```js
 const a: Artist = {
   name: 'Miguel Migs',
-  label: 'Naked Music'
+  label: 'Naked Music',
+  genre: 'House' // ✓ OK
 }
-
-a.genre = 'House' // ✓ OK
 ```
 {: data-line="6"}
 
-You can add more fields to an object.
+A type with more properties is "wider" and is a subtype of a "narrower" type.
 
 See: [Width subtyping](https://flow.org/en/docs/lang/width-subtyping/)
 
@@ -178,10 +177,13 @@ type Artist = {|
 {: data-line="1,4"}
 
 ```js
-const a: Artist = { ··· }
-a.genre = 'House' // ✗ Error
+const a: Artist = {
+  name: 'Miguel Migs',
+  label: 'Naked Music',
+  genre: 'House' // ✗ Error
+}
 ```
-{: data-line="2"}
+{: data-line="4"}
 
 Exact object types prevent extra properties from being added to an object.