const b = "b" // ্ॻ͖ෆՄೳ a = "A" // OK b = "B" // Cannot assign to "b" because it is a constant • 変数宣⾔は const をできるだけ使うと良い • 変数の値が変わることを考慮しなくて済む #hatenaintern !
name: "hatena", age: 20 } if ("name" in user) { console.log("user has name property") } if ("fetch" in window) { console.log("This browser supports fetch API") } #hatenaintern !"
コンパイラ (tsc) で型チェックを⾏う • 現代では⽣の JavaScript 書くより、TypeScript で書くことが多い function hello(name: string): string { return `Hello, ${name}!` } const result = hello(1) // ^ // Type Error: Argument of type '1' is not assignable to parameter of type 'string'. #hatenaintern !"
unknown = { name: "foo" }; val.name // Type Error: Property 'name' does not exist on type 'unknown'. • unknown ≒ {} | null | undefined • 型を絞り込んでからアクセスする必要がある if (typeof val === "object" && 'name' in val) { console.log(val.name) // OK } #hatenaintern !"
DOM の差分を計算し、その差分だけを実際 の DOM に反映 https://ja.react.dev/learn/preserving-and-resetting-state ! Document Object Model の略。HTML や XML ⽂書の構造を操作するためのプログラミングインターフェイスのこと。 #hatenaintern !"
(TC89) JavaScript の構⽂や基本的な API DOM Living Standard (WHATWG) document.querySelector などの DOM API Fetch Living Standard (WHATWG) fetch API Internationalization API (TC89) Intl.DateTimeFormat などの国際化 API #hatenaintern !"