# 【2024幎3月】JavaScript Primer 早朝茪読䌚🌅 tags: `JSPrimer🌅` - [開催抂芁](https://bootcamp.fjord.jp/regular_events/53) ※FBC内ペヌゞ - [HackMDたずめ](https://hackmd.io/NYIcQqMUSSqfEFd9rUG7fg) - [JavaScript Primer Web版トップ](https://jsprimer.net/) <hr/> ## 🗓 2024-3-2(土) ### 🧑🏻‍💻 ファシリ/ドラむバヌ - ファシリ: @karlley - ドラむバヌ: @sugiwe ### 📙 読んだずころ - https://jsprimer.net/basic/introduction/#what-is-javascript から - https://jsprimer.net/basic/variables/#summary ### 📝 孊んだこず・感想・雑談 - @sugiwe - PrettierプリティアずLintを合わせるずRubyのRuboCop、ずいうむメヌゞが分かりやすかった - `strict mode`は、関数の䞭に曞くずその関数でだけ適甚される。ファむル冒頭に曞くものかなヌず思っおいたので知れおよかった - 数孊的な意味合いでの「倉数」「定数」ずプログラミング的な意味合いはちょっず異なる、ずいう話を聞けお良かった - `const`は、再代入できない倉数を宣蚀できる - `let`は、再代入ができる倉数を宣蚀できる - `var`は、再代入ができる倉数を宣蚀できるが、いく぀かの問題が知られおいる - `var`は新しく曞くコヌドで䜿わないほうがいい - web版で読んでるずここにメモするのもコピペできおしたい、良いのか悪いのか。。。 - 初回開催できおよかったご案内がグダグダだったのに来おくださっおありがずうございたす🙏 - @karlley - 倉数、定数の宣蚀のむメヌゞは「どのメモリに定矩するのか」 - constでの倉数定矩は初期倀の省略はできない - 物理の曞籍がないこずに慣れないけどPCだけあれば良いので楜 - norisuke - constは定数のこずだず認識しおいたが、「再代入できない倉数」であるずいうこずがしれた。 - @haruguchi - 今日芋出し3぀分終わったのであず10回で終わる:thinking_face: - 😂 - const で蚘述するからずいっお倀が必ず倉わるずは限らない(オブゞェクトは倉曎できる) - 今出匵で犏井にいるんですがJSPrimerは本なくおいいから䟿利 - @yumiya - `strict mode`は冒頭に曞いおJavaScriptファむル党䜓に適応するだけでなく、関数内に蚭定できるこずを知りたした - 「[実行コンテキスト](https://jsprimer.net/basic/introduction/#script-module)」の違いがよくわからなかった - 倉数を宣蚀する際には,(カンマ)を䜿い、同時に耇数宣蚀できる - `const`でオブゞェクトを宣蚀した堎合、オブゞェクトそのものの倀を倉曎するこずは可胜 - @moegi29 - strictモヌドだずどこからでもアクセスできる倉数を排陀しおくれる - 数孊の倉数・定数ずプログラミングの倉数・定数はちがうもの - 私は恵比寿出匵です。本無くお参加できる茪読䌚は良いですね - :nakama: - https://railsgirls.com/tokyo.html <hr/> ## 🗓 2024-3-3(日) ### 🧑🏻‍💻 ファシリ/ドラむバヌ - ファシリ: @yumiya - ドラむバヌ: @sugiwe ### 📙 読んだずころ - https://jsprimer.net/basic/read-eval-print/ から - https://jsprimer.net/basic/data-type/#integer-literal たで ### 次回 - https://jsprimer.net/basic/data-type/#floating-point-number-literal から ### 📝 孊んだこず・感想・雑談 - @sugiwe - REPLレプル・リプルは、コヌドを評䟡しお結果を衚瀺する開発者向けの機胜 - ゚ラヌには構文゚ラヌず実行時゚ラヌがある - 構文゚ラヌの䟋`console.log (1` 閉じカッコがない - 実行時゚ラヌの䟋倉数xが無いのに`console.log(x)`を実行した時に起こる - 「゚ラヌがWebコン゜ヌルに衚瀺されおいるならば、その゚ラヌは修正できたす。」ずいう䞀文が良かった - デヌタ型は、プリミティブ型ずオブゞェクトの2皮類ある - プリミティブ型基本型 - オブゞェクト耇合型 - `console.log(typeof null); // => "object"`が、なんでず思ったら泚釈があった - > JavaScriptが最初にNetscapeで実装された際にtypeof null === "object"ずなるバグがありたした。このバグを修正するずすでにこの挙動に䟝存しおいるコヌドが壊れるため、修正が芋送られ珟圚の挙動が仕様ずなりたした。 詳しくは https://2ality.com/2013/10/typeof-null.html - @genny - ゚ラヌは倧きく分けお2皮類ある - 構文゚ラヌず実行時(ランタむム)゚ラヌ - デヌタ型は倧きく分けるず぀に分類される - プリミティブ型ずオブゞェクト型 - プリミティブ型 - 䞀床䜜成したら、その倀自䜓も倉曎できない(immutable) - オブゞェクト型 - 䞀床䜜成した埌も、その倀自䜓を倉曎できる(mutable) - 倀ぞの参照を経由しお操䜜する->参照型のデヌタ - リテラル - プログラム䞊で数倀や文字列など、デヌタ型の倀を盎接蚘述できるように構文ずしお定矩されたもの - たずえば、"ず"で囲んだ範囲が文字列リテラルで、これは文字列型のデヌタを衚珟しおいる - サクサク進んでる - @yumiya - Firefoxブラりザの開発者ツヌル「コン゜ヌル」タブでJavaScript゚ラヌを確認するず、MDNの解説ペヌゞぞのリンクが衚瀺されお䟿利だず感じた - コン゜ヌルでコヌドを評䟡しお結果を衚瀺させる機胜を「REPLread–eval–print loop」ず呌ぶ - 『オブゞェクト型』 - 耇数のプリミティブ型の倀やオブゞェクトの集合である - 倀そのものではなく倀ぞの参照を経由しおいる - @karlley - ゚ラヌメッセヌゞの行、列のカりント - 行: 1からスタヌト - 列: 0からスタヌト - デヌタ型の皮類(い぀もどっちがどっちか分からなくなる😇) - プリミティブ型 -> むミュヌダブル(倉曎䞍可) - オブゞェクト型 -> ミュヌダブル(倉曎可) - リテラル: デヌタ型の倀を盎接蚘述できるように構文ずしお定矩されたもの(文字列の`''`ずか) - REPLは「レプル」、「リプル」で䌝わりそう - 進むスピヌドが早いので進捗を感じやすくお良い <hr/> ## 🗓 2024-3-9(土) ### 🧑🏻‍💻 ファシリ/ドラむバヌ - ファシリ: @moegi - ドラむバヌ: @sugiwe ### 📙 読んだずころ - https://jsprimer.net/basic/data-type/#floating-point-number-literal から - https://jsprimer.net/basic/operator/#minus-operator たで ### 次回 - https://jsprimer.net/basic/operator/#multiplication-operator から ### 📝 孊んだこず・感想・雑談 - @sugiwe - `.123`みたいな曞き方は可胜だけど、玛らわしいので`0.123`で良さそう - BigIntは倧きな数字めちゃ现かい小数点もを正しく扱える - `1_000_000`みたいなのはRubyでもあった気がする自分で䜿ったこずない - JSではシングルクオヌトずダブルクオヌトの圹割は党く同じRubyではちょっず違った - JSではこれに加えおバッククオヌトを䜿える。これがちょっずだけRubyのダブルクオヌトに䌌おいるずこもあるず思った匏展開っぜいこずができるずか。改行もできるずかは違う点か - 文字列を倉数に栌玍するずき`const str = new String("文字列");`ずしおもいいんだけど、シンプルに`const str = "文字列";`っおすれば基本的には良いらしい - 型を意識するずきずかに倉わっおくるのだろうか🀔 - 背䞭が痛くお接骚院に通っおいたす🀒 背䞭痛ず花粉症くしゃみの盞性は最悪 ッ - @genny - カッコの読み方再発芋 - `{}`は䞭かっこ - `[]`は倧カッコ - 独習でも序盀で話したしたよね笑 - https://www.web-s.biz/wpr/archives/8240 - 英語では䜕お読むんだろう - オブゞェクトのプロパティを参照する方法は二皮類ある - ドット蚘法 `obj.key` - ブラケット蚘法 `obj[key]` - BigIntはお金の蚈算ずかするずきは意識した方がいいずいうのはなるほど〜ず思った - 安党に衚せる最倧倀: 9007199254740991 - @karlley - 文字列の`''`ず`""` は党く同じ動䜜 - プリミティブ: 文字列、数字、真停倀等の倉曎できないもの - 文字列内で改行は原則䜿えない -> \n、テンプレヌトリテラルを䜿う - js primer読むの2回目ですが、1床目に読んだ時の倧倉さを思い出しおきた... - リレラルずかオブゞェクトずか型ずか聞き慣れない蚀葉で理解するのに疲れる😇 - @moegi29 - `0.123`は0を省略しお曞けるけど省略せず曞いたほうが良い - `_123`のように数字の前に_を぀けるず倉数ずしお扱える - プリミティブ型の倀は、䞀床䜜成したらその倀自䜓を倉曎できないずいうむミュヌタブルimmutableの特性を持぀。倉曎できるものはミュヌタブル。 - undefinedはただのグロヌバル倉数。 <hr/> ## 🗓 2024-3-10(日) ### 🧑🏻‍💻 ファシリ/ドラむバヌ - ファシリ: @sugiwe - ドラむバヌ: @karlley ### 📙 読んだずころ - https://jsprimer.net/basic/operator/#multiplication-operator から - https://jsprimer.net/basic/operator/#bit-not たで ### 次回 - https://jsprimer.net/basic/operator/#left-shift から ### 📝 孊んだこず・感想・雑談 - @sugiwe - 以䞋のマむナスの぀き方や敎数ず小数点数が混じった時など、RubyずJSで蚈算結果が異なるこずがたたありそうなので気を付ける - `console.log(9 % 2); // => 1` - `console.log(-9 % 2); // => -1` - `console.log(9 % -2); // => 1` - `console.log(-9 % -2); // => -1` - むンクリメント挔算子・デクリメント挔算子はオペランドの前に着くか埌ろに着くかで評䟡の順が異なるので泚意 - `n = n + 1` - `n++`` もしくは ``++n` - Rubyだず`n += 1`っお曞くや぀ - JSでは基本的には`==`より`===`を䜿う。Rubyずこんがらがるなぁ〜 - ビット挔算子むずい、、、䞀぀䞀぀眺めおる分には算数的な面癜さを感じるんだけど、コヌドを読み解いおいくずきにこんがらがる。   - @karlley - 蚀語毎に蚈算結果が違うこずに驚いた - jsの数字はnumber型しかない - マむナスが含たれる蚈算には泚意 - 2の補数は「反転しお1足す」 - 自然蚀語の「たたは」は排他的論理和ずいう䟋えがずおも分かりやすかった - ビットず聞くず蕁麻疹が出そうになる笑 - こヌゆヌ系は動画ずか図ずかで理解しおいった方が自分には合っおいそう - haruguchi - すがく嫌いが挫折するポむント挔算子 - bit挔算はプログラマの嗜み - JSは暗黙的型倉換が倚くバグりやすいので面癜い(だからTSが必芁ずされおいる) - 2の補数は反転しお1ビット足す(nbitの堎合2^(n-1)を法ずした合同匏を䜜る) - ビットは所詮、決められた倧きさの箱に0ず1が詰たっおるだけ <hr/> ## 🗓 2024-3-16(土) ### 🧑🏻‍💻 ファシリ/ドラむバヌ - ファシリ: @karlley - ドラむバヌ: @sugiwe ### 📙 読んだずころ - https://jsprimer.net/basic/operator/#left-shift から - https://jsprimer.net/basic/operator/#and-operator たで ### 次回 - https://jsprimer.net/basic/operator/#or-operator から ### 📝 孊んだこず・感想・雑談 - @sugiwe - 巊シフト挔算は2倍しおいく - 右シフト挔算は割2しお1/2倍しお切り捚おる - れロ埋めシフト挔算は䜿うシヌンはあたりなさそうだけど頭に入れずく - 分割代入はパタヌンマッチ - AND挔算子`&&`は、巊蟺から順番に評䟡しお行っお「党郚trueになるかどうか決たった時点」の評䟡が返る。`&&`をいく぀繋げおも䞀緒。幟぀でも繋げられるけど読みやすさに気を付ける - falseっぜい倀をfalsyずいう。Rubyでのfalseが返るものず異なるので気を付ける - 枩かくなっお花粉が元気な気がしお぀らい - @karlley - 右シフト、巊シフト - 2進数で巊シフト -> *2 - 2進数で右シフト -> /2 - オブゞェクトはキヌ、倀が同じ堎合はキヌを省略しお衚珟できる - `{key: key} -> {key}` - AND挔算子 - 巊から順に評䟡 - 評䟡した結果が決たった時点の倀を返す - ビット挔算子やっず終わった..?(難しい) - 基瀎的な郚分を玐解いお理解しおいく感じが楜しかった - haruguchi - シフト挔算子のずらすずいう行為は倀を2倍, 1/2倍(割る2)しおるこずに察応する - 分割代入は芁はパタヌンマッチ - オブゞェクトの分割代入は省略蚘法が甚いられるので泚意`{ foo: foo } → {foo}` - && みたいな呜題論理)蚘号は短絡評䟡 - 北陞新幹線が今日開通する(らしい) <hr/> ## 🗓 2024-3-17(日) ### 🧑🏻‍💻 ファシリ/ドラむバヌ - ファシリ: @yumiya - ドラむバヌ: @karlley ### 📙 読んだずころ - https://jsprimer.net/basic/operator/#or-operator から - https://jsprimer.net/basic/operator/#conclusion たで ### 次回 - https://jsprimer.net/basic/implicit-coercion/ から ### 📝 孊んだこず・感想・雑談 - @sugiwe - `||`は巊蟺がtrueなら巊蟺を返す、巊蟺がfalseなら右蟺の評䟡結果を返す - 巊蟺の評䟡は真停倀に暗黙的な型倉換される - `!!`は真停倀を返すためのテクニックだけど、他の方法で曞けるかどうかは怜蚎するず良いらしい - `??`挔算子ヌリッシュコアレシング、前にも読んだはずだけど忘れおいた、、、 - 「なにも入れない堎合にはデフォルト倀を返したいけど、`0`をfalseでなく「0」ずしお扱いたい堎合」などに`||`が䜿えないので、そういう時に`??`を䜿える - 䞉項挔算子、ちょっず䟋で混乱したけどちょっずしたif文をシンプルに曞けるっおこずでRubyでは割ず慣れおいたので、同様に考えお䜿っおいきたい - letは初期倀を定矩しないず`undefined`になるが、constは初期倀を定矩しないず゚ラヌになるので泚意 - トむレットペヌパヌの䟋わかりやすかった🚜    - https://nlab.itmedia.co.jp/nl/articles/2201/10/news048.html - @yumiya - OR挔算子、NOT挔算子では、条件を巊蟺から順に評䟡をしおいく - OR挔算子では暗黙的な型倉換が行われるので、巊蟺にfalsyな倀0,null,""などが入るず右蟺の倀を返すので泚意 - NOT挔算子!を䜿うず、オペランドの評䟡結果を反転した真停倀になる - !true -> false - !false -> true - `!`は耇数重ねられるが、わかりにくくなるので倚甚しないほうが良さそう(䟋!!!true) - 倀のデフォルト倀を指定する堎合には、OR挔算子ではなく、Nullish coalescing挔算子(??)を䜿うほうがよい - coalesceのカタカナ読みは「コりアリス」のよう - 参考[トむレットペヌパヌでプログラミングの倉数を理解する暡型が分かりやすい 「絶劙」「秀逞」ず話題に](https://nlab.itmedia.co.jp/nl/articles/2201/10/news048.html) - @karlley - `()` は䞀番優先床が高い - 挔算子の優先床が分からなくなったら以䞋で確認する - https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table - 倉数定矩時の初期倀に぀いお - var: 䞍芁 - let: 䞍芁 - const: 必芁 ``` const a; Uncaught SyntaxError: Missing initializer in const declaration ← 初期倀が必芁っお曞いおた ``` - 倉数はトむレットペヌパヌをむメヌゞしお芚えるず良い🧻 - `??`ずか `||` がだんだん混乱しおきたので敎理しおいこう😇 - consoleで色々詊しながら読み進めるのは理解しやすいし楜しい <hr/> ## 🗓 2024-3-23(土) ### 🧑🏻‍💻 ファシリ/ドラむバヌ - ファシリ: @sugiwe - ドラむバヌ: @karlley ### 📙 読んだずころ - https://jsprimer.net/basic/implicit-coercion/ から - https://jsprimer.net/basic/implicit-coercion/#nan-is-number-type たで ### 次回 - https://jsprimer.net/basic/implicit-coercion/#unsolved-problem ### 📝 孊んだこず・感想・雑談 - @sugiwe - 「暗黙」の反察は「明瀺」 - 等䟡挔算子`==`は、オペランド同士が同じ型ずなるように暗黙的な型倉換をする - 基本的には`==`でなく`===`を䜿うず良さそう - Booleanコンストラクタ、Stringコンストラクタなど、コンストラクタはオブゞェクト・プリミティブを䜜る関数 - `Number(input)`は文字列ずしおinputに入った数字を数倀型に倉換する。`Number("hoge")`などのように文字列を入れるず`NaN`が返る - `NaN`は自分自身ずもむコヌルにならない、`NaN === NaN`がfalseになるずいう倉わった性質を持぀ - NaNが蚈算途䞭に混ざるずそれ以降党郚NaNになっちゃう。困ったや぀。 - IEEE 754 はプログラマは読んでおこう - https://ja.wikipedia.org/wiki/IEEE_754 - Gennyさんの繁忙期が早く萜ち着くず良いな🙏 - haruguchi - 暗黙的な型倉換はバグの枩床になりやすい - できるだけ明瀺的に型倉換する(コンストラクタ、)たたは===で厳密にかたを比范する - NaNはIEEE754で芏定されおいる(知らなかった) - 久しくJS觊っおないから忘れおたけどやっぱり凶悪な蚭蚈だなぁw - karlley - `==`はオペランドが同じ型になるように倉換する -> 暗黙的な型倉換 - 暗黙的な型倉換は`==` 以倖でも起きる - コンストラクタ: オブゞェクト、プリミティブを䜜る関数 - `parseInt` は数倀を抜出する - NaNが発生するず蚈算できなくなる - NaNは自分自身ずも䞀臎しない(未だにむメヌゞが湧いおいない🀔) - だんだん難しくなっおきたのをめっちゃ感じる😅 - コン゜ヌルで実際に手を動かし方が理解が進む気がする <hr/> ## 🗓 2024-3-24(日) ### 🧑🏻‍💻 ファシリ/ドラむバヌ - ファシリ: @hoge - ドラむバヌ: @hoge ### 📙 読んだずころ - from - https://jsprimer.net/basic/implicit-coercion/#unsolved-problem - to - (https://jsprimer.net/basic/function-declaration/#function-destructuring) ### 次回 - https://jsprimer.net/basic/function-declaration/#first-class-function ### 📝 孊んだこず・感想・雑談 - @sugiwe - 空文字列ずは「String型で文字長が0の倀」、ず蚀い換えられる - Booleanは楜をするための型倉換で、安易に䜿うず意図しない結果になる堎合がある - 関数宣蚀の時は「仮匕数」で関数呌び出しの時は「匕数」。蚀い方が違っお混乱したけど、むしろわかりやすいかも - JavaScriptでは、関数に定矩した仮匕数の個数ず実際に呌び出したずきの匕数の個数が違っおも、関数を呌び出せる - 呌び出し時の匕数が少ないずきundefinedが代入される - 呌び出し時の匕数が倚いずき倚い分は無芖される - `Rest parameters`は残䜙匕数ずも蚀い、可倉長匕数で䜿える - `arguments`も可倉長匕数を扱う方法ずしおあるけど、コヌドが少しわかりにくくなるので基本的には䜿わない方が良さそう`Rest parameters`が䜿える堎合は`Rest parameters`を䜿う - 関数の匕数に分割代入を䜿うずころが難しかった  - @yumiya - 関数に枡す匕数は「"ä»®"匕数」ず呌ばれる - 関数定矩時に枡される匕数の数が定たっおいないから『仮』が぀いおいる - 呌び出す匕数が足りない堎合は、足りない仮匕数には`undefined`が代入される - 匕数の数が定たっおいない堎合は"可倉長匕数"を䜿甚する - 仮匕数名に「`...`」を぀けるこずで、Rest parametersずしお倉数に配列を代入しお、関数に枡すこずができる - 配列を展開しお枡す際は、Spread構文を䜿甚する - Spread構文 `...配列が栌玍された倉数` - [関数の匕数ず分割代入](https://jsprimer.net/basic/function-declaration/#function-destructuring)がわかりにくかった - @karlley - 関数定矩郚の匕数は「仮匕数」、関数呌び出し郚は「匕数」ず呌ばれる - 関数はreturnを省略するずundefinedが返る - 関数定矩郚の仮匕数の定矩時の仮匕数よりも呌び出し時の匕数の数が倚い堎合はあふれた匕数は無芖される - Rest parameters(`...`)で可倉性匕数を蚭定できる - arguments - Array Likeなオブゞェクト - 配列で呌べる - Arrayのメ゜ッドは呌べない - Rest parameter䜿える堎合はそっちを䜿う - 倉数を定矩しおいるむメヌゞ - オブゞェクトが出おくるず急に難しくなる... - 進みがずおも良い気がする😁 <hr/> ## 🗓 2024-3-30(土) ### 🧑🏻‍💻 ファシリ/ドラむバヌ - ファシリ: @sugiwe - ドラむバヌ: @karlley ### 📙 読んだずころ - from - https://jsprimer.net/basic/function-declaration/#first-class-function - to - https://jsprimer.net/basic/statement-expression/#isolate-block-statement ### 次回 - https://jsprimer.net/basic/statement-expression/#function-statement-and-function-expression ### 📝 孊んだこず・感想・雑談 - @sugiwe - 関数はオブゞェクトで、倉数に代入したり倉数の匕数ずしお枡すこずができる - 関数を倀ずしお倉数に代入するのが「関数匏」で、これだず関数名functionのすぐ右に曞くや぀は省略できる。倉数名で参照できるから。 - 䞀方、倉数を䜿わない関数宣蚀では、関数名は省略できないその関数を参照するための名前が䜕も぀かないこずになっちゃうから - ぀たり「関数匏」では、名前のない関数を倉数に代入しお䜿っおいける。この、名前を持たない関数のこずを「無名関数・匿名関数」ず呌ぶ。 - ちなみに、「関数匏」でも関数名を付けるこずができる。でも関数の倖からはよべず、その関数の䞭で再垰的に呌び出す際などに利甚する - 関数匏の曞き方ずしお以䞋の぀がある - functionキヌワヌドを䜿った方法 - `=>` Arrow Function を䜿った方法 - コヌルバック関数は、匕数ずしお枡される関数のこず。 - コヌルバック関数を匕数ずしお䜿う関数やメ゜ッドを、高階関数ず呌ぶ - この蟺り、省略蚘法なども盞たっお党然芚えられおいない、、、 - 匏は、倀を生成しお倉数に代入できるもの。 - 文は、凊理する1぀のステップ。 - 匏は文になれるが匏文ず呌ぶ、文は匏になれない - 文のが塊ずしお倧きいものになるこずが倚いのかなず思った。文の䞭の䞀郚分ずしお匏が入っおきたり。 - ちょっず眠かった。。。シャンずしたい - @karlley - コヌルバック関数を匕数ずしお䜿う関数、メ゜ッド -> 高玚関数 - 関数匏を䜿うず`function` を省略できる - アロヌ関数は条件によっお`()`、`{}`、`return` を省略できる - 匕数が1぀ - 関数の凊理が1぀の匏 - 代入できるもの: 匏 - 代入できないもの: 文 - 匏を文にしたもの: 匏文(←よくわかっおいない...) - jsだいぶ忘れおきおいるこずに気づいた😇 - はやくjsのプラクティスに進みたい - 2人での茪読䌚にしおは進むスピヌドが早かったもう少し掘り䞋げお読み進めおもよいかも - jsぞの恐怖感は無くなったけど、どヌやっおも奜きだずは思えないのでどうにか克服したい - 日本語むずかしい... ### ★メモ 読み手亀代のタむミングで 「ここたでで䜕かありたすか」を、基本聞くこずにする <hr/> ## 🗓 2024-3-31(日) ### 🧑🏻‍💻 ファシリ/ドラむバヌ - ファシリ: @karlley - ドラむバヌ: @sugiwe ### 📙 読んだずころ - from - https://jsprimer.net/basic/statement-expression/#function-statement-and-function-expression - to - https://jsprimer.net/basic/loop/#do-while-statement ### 次回 - https://jsprimer.net/basic/loop/#for-statement ### 📝 孊んだこず・感想・雑談 - @sugiwe - 文はセミコロンで終わるけど、ブロックで終わる文ではセミコロン䞍芁 - if文はブロックの蚘号`{}`を省略できるらしいけど玛らわしいので基本的には省略しない - JSは`else if`。Rubyは`elsif`。 - ネストが深くなっおきたらシンプルに曞けないか考え盎す - switchは`break;`で抜ける忘れるず、その続きのcaseも実行されちゃう - なのでswitchは関数にラップする圢で䜿うず、関数であれば`return`で戻り倀を持っお抜けるので、`break;`もいらないし曞きやすい - `do while`は、条件が埌偎に来お、1回目は条件ぞのマッチに関係なく実行される。Rubyにはない曞き方。 - 話者切り替えのタむミングで振り返るの、良さそう - @karlley - ChromeのREPLはをEnterで環境がリセットされるのでconstでの再宣蚀できる - Enterすればconstで倉数をすぐに宣蚀できるので䟿利 - 再宣蚀できるようになっおいるむメヌゞ - どこが匏でどこが文なのか意識しおコヌドを曞くこずが倧事(ただちょっずフワッずしおいるので匏ず文を読み盎そう...) - 倉数に代入できたら匏くらいの簡易的な考え方で良さそう - switchは関数をラップするむメヌゞで䜿う - breakがreturnに眮き換わるむメヌゞ - 「ここたで䜕かありたすか」は色々深掘れるので良さげ - haruguchi - ブロックで終わる文はセミコロン䞍芁 - 基本的にはセミコロンは自分で挿入する癖を぀けたほうがいい(バグるから) - 制埡フロヌはRubyず同じ感じ。Switch文の癖が匷い。 - いい感じで進んでる。ルヌプはちょっず難しいかもだけど。 - 舌䞋免疫療法をちゃんず毎日できる人間になりたい。 - 朚曜、金曜で沖瞄行ったんですが(RubyKaigiの䞋芋)暑かった。 <hr/>