Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LintオタクによるLint解説 / Introduction to Lints
Search
Kuniwak
PRO
November 18, 2022
Programming
29
13k
LintオタクによるLint解説 / Introduction to Lints
https://lintnight.connpass.com/event/263931/
Kuniwak
PRO
November 18, 2022
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
DeNA での思い出 / Memories at DeNA
orgachem
PRO
6
2.7k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
18
4.2k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
4
510
テストケースの名前はどうつけるべきか?
orgachem
PRO
2
640
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.7k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
190
HOME VR
orgachem
PRO
1
820
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.5k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.5k
Other Decks in Programming
See All in Programming
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
470
複数チーム並行開発下でのコード移行アプローチ ~手動 Codemod から「生成AI 活用」への進化
andpad
0
110
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
15
48k
Tangible Code
chobishiba
3
520
アーキテクチャと考える迷子にならない開発者テスト
irof
2
160
CSC509 Lecture 09
javiergs
PRO
0
290
Swift Concurrency 年表クイズ
omochi
3
220
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
35
11k
ボトムアップの生成AI活用を推進する社内AIエージェント開発
aku11i
0
1.6k
外接に惑わされない自システムの処理時間SLIをOpenTelemetryで実現した話
kotaro7750
0
240
Verilator + Rust + gRPC と Efinix の RISC-V でAIアクセラレータをAIで作ってる話 RTLを語る会(18) 2025/11/08
ryuz88
0
330
開発生産性が組織文化になるまでの軌跡
tonegawa07
0
140
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Practical Orchestrator
shlominoach
190
11k
Code Reviewing Like a Champion
maltzj
527
40k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
660
A Tale of Four Properties
chriscoyier
161
23k
Six Lessons from altMBA
skipperchong
29
4.1k
GitHub's CSS Performance
jonrohan
1032
470k
The Cult of Friendly URLs
andyhume
79
6.7k
Statistics for Hackers
jakevdp
799
220k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Transcript
-JOUΦλΫʹ ΑΔ-JOUղઆ -JOU/JHIU,VOJXBL
,VOJXBL 7JNTDSJQUͷ-JOUͰ͋Δ7JOUͷ࡞ऀɻ -JOU͕͖͗ͯ͢Φʔϓϯιʔεͷ -JOUͷίʔυΛಡΈړ͍ͬͯΔɻ Ͱ-JOUͷ։ൃ͍ͯ͠Δɻ 2
͜ͷൃදͰ͍͑ͨ͜ͱ 3
4 -JOUͷڭཆ -JOUͱ -JOUͷݕग़͢Δ -JOUͷߏ -JOUͷޮՌతͳ͍ํ
5 -JOUͷڭཆ -JOUͱ -JOUͷݕग़͢Δ -JOUͷߏ -JOUͷޮՌతͳ͍ํ
ίʔυͱઃఆΛೖྗͱͯ͠ϓϩάϥϜͷΛ੩తʹ ݕग़͢Δπʔϧͷ͜ͱ ࣗવݴޠͰॻ͔ΕͨจॻͱઃఆΛೖྗͱͯ͠ จॻͷΛݕग़͢Δπʔϧͷ͜ͱ 6 -JOUͱʢ߹ҙ͞Εͨఆٛͳ͍ͷͰҙʣ 1 2
ίʔυͱઃఆΛೖྗͱͯ͠ϓϩάϥϜͷΛ੩తʹ ݕग़͢Δπʔϧͷ͜ͱ ࣗવݴޠͰॻ͔ΕͨจॻͱઃఆΛೖྗͱͯ͠ จॻͷΛݕग़͢Δπʔϧͷ͜ͱ 7 -JOUͱʢ߹ҙ͞Εͨఆٛͳ͍ͷͰҙʣ 2 ੩తʹݕग़͢ΔͱɺϓϩάϥϜΛ ࣮ࡍʹ࣮ߦ͢Δ͜ͱͳ͘Λ ݕग़͢Δͱ͍͏ҙຯ
1
:BDDͰ༗໊ͳ4$+PIOTPO͕ʹ։ൃͨ͠$ݴޠͷ ੩తݕࠪثͷ໊લ͕-JOUͩͬͨ͜ͱʹ༝དྷ͢Δɻ ࠓͰ͜ͷ-JOUʹࣅͨ੩తݕࠪثશൠ͕-JOUͱݺΕ͍ͯΔɻ ͱͱ-JOUͱࢳͣ͘ͷҙຯͰɺࢳͣ͘औΓΛΠϝʔδͯ͠ -JOUͱ໊͚ΒΕͨΒ͍͠ɻ UFYUMJOUͷొ͔Β-JOUͷࢦ͢੩తݕࠪثࣗવݴޠͷจॻΛ ରͱ͢Δͷʹ·Ͱ͕͍ͬͯΔɻ 8 -JOUͷ໊લͷ༝དྷ
9 -JOUͷڭཆ -JOUͱ -JOUͷݕग़͢Δ -JOUͷߏ -JOUͷޮՌతͳ͍ํ
-JOU͕ ݕग़͢Δ ॲཧܥ͕੩తʹ ݕग़͢Δ ୯७ͳઃఆΛͱʹ੩తʹݕग़Ͱ͖Δ ϓϩάϥϜͷͷ͏ͪɺॲཧܥ ʢίϯύΠϥΠϯλϓϦλʣ͕ ݕग़͠ͳ͍ͷɻ ࣗવݴޠͷʹ͍ͭͯಈ੩ͷ
֓೦͕ͳ͍ͷͰ͍͍ͩͨશ෦ɻ -JOUͷݕग़͢Δ 10
11 -JOU͕ ݕग़͢Δ ॲཧܥ͕੩తʹ ݕग़͢Δ ॲཧܥͱ-JOUͷݕग़ରݴޠ͝ͱʹҟͳΔ -JOU͕ ݕग़͢Δ
ॲཧܥ͕੩తʹ ݕग़͢Δ 5ZQF4DSJQU $ (P 1FSM 3VCZ +BWB4DSJQU
12 -JOUͷݕग़͢Δͷྫ ఆٛʹ߹ҙͷऔΕͳ͍ ಈతʹ͔͠ݕग़͞Ε͍ͯͳ͍ 1 2
13 ͷఆٛʹ߹ҙͷऔΕͳ͍ͷ ݹདྷΑΓਓྨίʔσΟϯάελΠϧͰ૪͖ͬͯͨɻ ͍·૪͍ͷܾண͍͍ͭͯͳ͍ͨΊॲཧܥ͕ ίʔσΟϯάελΠϧΛݕࠪ͢Δ͜ͱ ΄ͱΜͲͳ͘ɺ-JOUͷׂʹͳ͍ͬͯΔɻ ͨͩ͠Ұ෦ͷॲཧܥΠϯσϯτΛ ݕࠪ͢Δ͜ͱ͕͋ΔʢΦϑαΠυϧʔϧͱ͍͏ʣɻ 1
14 ͷఆٛʹ߹ҙͷऔΕͳ͍ͷ ͲͷϑϨʔϜϫʔΫΛ͏͔ɺ͋Δ͍Θͳ͍͔ ࣗ༝Ͱ͋ΔͷͰɺϑϨʔϜϫʔΫݻ༗ͷ͍ํͷ ॲཧܥ͕ݕग़͢Δ͜ͱͳ͍ɻ-JOUͷग़൪ɻ 1
15 ಈతʹ͔͠ݕग़͞Ε͍ͯͳ͍ ಈతʹݕग़͞ΕΔΛ੩తʹݕग़͢Δͷ-JOUͷ ׂͷ̍ͭɻ࠷ۙͰ͞·͟·ͳಈతܕݕ͖ࠪͭ ϓϩάϥϛϯάݴޠʹ੩తܕݕࠪΛ͢Δ-JOU͕ ొ͍ͯ͠ΔʢNZQZ 'MPX 4PSCFU 1)14UBO ʣɻ
2
16 -JOUͷڭཆ -JOUͱ -JOUͷݕग़͢Δ -JOUͷߏ -JOUͷޮՌతͳ͍ํ
ςετɾϨϏϡʔҎ߱Ͱݕग़͞Ε͍ͯͨ Λ-JOUͰݕग़͢Δ 17 -JOUͷޮՌతͳ͍ํ
18 ͳͥޮՌతͱओு͍ͯ͠Δͷ͔
19 ߏจղੳ -JOUίϯύΠϧ࣌ݕࠪ ୯ମɾ݁߹ςετϨϏϡʔ γεςϜςετ ຊ൪ڥͰͷΤϥʔऩू Ϣʔβʔ͔Βͷ͓͍߹Θͤ Λ
ݕ ग़ ͢ Δ ͨ Ί ͷ ख ஈ
20 ߏจղੳ -JOUίϯύΠϧ࣌ݕࠪ ୯ମɾ݁߹ςετϨϏϡʔ γεςϜςετ ຊ൪ڥͰͷΤϥʔऩू Ϣʔβʔ͔Βͷ͓͍߹Θͤ ্͔Βॱʹݕࠪ͞ΕΔ 9
Λ ݕ ग़ ͢ Δ ͨ Ί ͷ ख ஈ
21 ߏจղੳ -JOUίϯύΠϧ࣌ݕࠪ ୯ମɾ݁߹ςετϨϏϡʔ γεςϜςετ ຊ൪ڥͰͷΤϥʔऩू Ϣʔβʔ͔Βͷ͓͍߹Θͤ Λݕग़͢Δͱࢭ·Δ 9
Λ ݕ ग़ ͢ Δ ͨ Ί ͷ ख ஈ
22 ߏจղੳ -JOUίϯύΠϧ࣌ݕࠪ ୯ମɾ݁߹ςετϨϏϡʔ γεςϜςετ ຊ൪ڥͰͷΤϥʔऩू Ϣʔβʔ͔Βͷ͓͍߹Θͤ 9 : ্ͷํͷखஈͰࢭ·Δͱ
ίετͰΛݕग़Ͱ͖Δ ಛघͳԼͷํͷ खஈͰ͔͠ݕग़Ͱ͖ͳ͍ Λ ݕ ग़ ͢ Δ ͨ Ί ͷ ख ஈ
23 ߏจղੳ -JOUίϯύΠϧ࣌ݕࠪ ୯ମɾ݁߹ςετϨϏϡʔ γεςϜςετ ຊ൪ڥͰͷΤϥʔऩू Ϣʔβʔ͔Βͷ͓͍߹Θͤ -JOU͜ͷҐஔ
Λ ݕ ग़ ͢ Δ ͨ Ί ͷ ख ஈ
24 ߏจղੳ -JOUίϯύΠϧ࣌ݕࠪ ୯ମɾ݁߹ςετϨϏϡʔ γεςϜςετ ຊ൪ڥͰͷΤϥʔऩू Ϣʔβʔ͔Βͷ͓͍߹Θͤ ͠-JOUΛ͍ͬͯͳ͍ͱɺ -JOUͰݕग़Ͱ͖ΔΛΑΓ ߴίετͳςετϨϏϡʔͰ
ݕग़͠ͳ͍ͱ͍͚ͳ͘ͳΔ ܕΤϥʔ ػೳͷޡ༻ Λ ݕ ग़ ͢ Δ ͨ Ί ͷ ख ஈ
25 ߏจղੳ -JOUίϯύΠϧ࣌ݕࠪ ୯ମɾ݁߹ςετϨϏϡʔ γεςϜςετ ຊ൪ڥͰͷΤϥʔऩू Ϣʔβʔ͔Βͷ͓͍߹Θͤ -JOUΛ͏͜ͱͰɺΑΓ ίετͰΛݕग़Ͱ͖Δ ܕΤϥʔ
ػೳͷޡ༻ Λ ݕ ग़ ͢ Δ ͨ Ί ͷ ख ஈ
26 Ͳ͏࣮ͬͯݱ͢Δͷ͔
27 -JOUΛ࣮ͬͨݱํ๏ͷྫ w ܕΤϥʔͷݕग़ ੩తܕݕࠪͷͰ͖Δ-JOUΛಋೖ͢Δ w ίʔσΟϯάελΠϧҧͷݕग़ -JOUͷઃఆΛڞ༗͢Δ͜ͱͰ࣮ݱͰ͖Δ
w ϓϩδΣΫτͰ࣮͞Εͨػೳͷޡ༻ͷݕग़ -JOUͷϧʔϧΛ࣮࣮ͯ͠ݱͰ͖Δ
28 -JOUΛ࣮ͬͨݱํ๏ͷྫ w ܕΤϥʔͷݕग़ ੩తܕݕࠪͷͰ͖Δ-JOUΛಋೖ͢Δ w ίʔσΟϯάελΠϧҧͷݕग़ -JOUͷઃఆΛڞ༗͢Δ͜ͱͰ࣮ݱͰ͖Δ
w ϓϩδΣΫτͰ࣮͞Εͨػೳͷޡ༻ͷݕग़ -JOUͷϧʔϧΛ࣮࣮ͯ͠ݱͰ͖Δ ͜ͷͨΊʹ-JOUͷ ߏΛΔඞཁ͕͋Δ
29 -JOUͷڭཆ -JOUͱ -JOUͷݕग़͢Δ -JOUͷߏ -JOUͷޮՌతͳ͍ํ
30 -JOUͷߏ w -JOUͷߏͲΕࣅ௨͍ͬͯΔͷͰɺͭΛ ಡΊΔΑ͏ʹͳΔͱଞͷಡΊΔΑ͏ʹͳΔ w ॲཧͷྲྀΕதؒσʔλ͕ҟͳΔ͚ͩͰ΄ͱΜͲಉ͡ w ѻ͏ओͳதؒσʔλɿ w
τʔΫϯྻ w நߏจ w ੍ޚϑϩʔάϥϑʢࠓճׂѪʣ
31 -JOUͷදతͳߏ ݕࠪϧʔϧΛԣஅ͢Δॲཧ ʢ$-*ͷఏڙɺݕࠪ༰қͳσʔλͷมɺݕࠪϧʔϧͷ࣮ߦʣ ݕࠪ ϧʔϧ ݕࠪ ϧʔϧ ݕࠪ ϧʔϧ
ݕࠪ ϧʔϧ ݕࠪϧʔϧ͝ͱʹݸผͷ ίϯϙʔωϯτͱ࣮ͯ͠͠ɺ ԣஅॲཧΛݕࠪϧʔϧʹ ґଘͤ͞ͳ͍ߏ͕΄ͱΜͲɻ ͳ͓-JOUͷίʔυΛಡΉ ࡍʹɺίʔυྔͷগͳ͍ ݕࠪϧʔϧ͔Β͕͓͢͢Ίɻ ґ ଘ ݩ ґ ଘ ઌ
32 -JOU ݕ͍ࠪͨ͠ ιʔείʔυ ݕࠪϧʔϧ ͝ͱͷઃఆ ݕग़ͨ͠ ͷҰཡ -JOUͷॲཧͷྲྀΕ
33 -JOU ݕ͍ࠪͨ͠ ιʔείʔυ ݕࠪϧʔϧ ͝ͱͷઃఆ ݕग़ͨ͠ ͷҰཡ ίʔσΟϯάελΠϧΛݕࠪ͢Δ-JOUͷྫ ࣈ۟
ղੳ τʔΫϯྻ ʢޙड़ʣ ݕࠪ
34 ݕ͍ࠪͨ͠ ιʔείʔυ ݕࠪϧʔϧ ͝ͱͷઃఆ ݕग़ͨ͠ ͷҰཡ ΑΓߴͳݕࠪΛ͢Δ-JOUͷྫ ߏจ ղੳ
ݕࠪ நߏจ ʢޙड़ʣ -JOU
35 ݕ͍ࠪͨ͠ ιʔείʔυ ݕग़ͨ͠ ͷҰཡ ॲཧͷྲྀΕͷൺֱ ࣈ۟ ղੳ ݕࠪ τʔΫϯྻ
ʢޙड़ʣ ݕ͍ࠪͨ͠ ιʔείʔυ ݕग़ͨ͠ ͷҰཡ ݕࠪ நߏจ ʢޙड़ʣ ߏจ ղੳ ͜ͷ෦͕ҟͳΔ͚ͩ
36 -JOU ݕ͍ࠪͨ͠ ιʔείʔυ ݕࠪϧʔϧ ͝ͱͷઃఆ ݕग़ͨ͠ ͷҰཡ ίʔσΟϯάελΠϧΛݕࠪ͢Δ-JOUͷྫ ࣈ۟
ղੳ τʔΫϯྻ ʢޙड़ʣ ݕࠪ
37 τʔΫϯྻ τʔΫϯྻ function helloWorld ( ) { console .
log τʔΫϯͱɺιʔείʔυͷ จࣈྻʹग़ݱ͢ΔҙຯΛ࣋ͬͨ ࠷খ୯Ґͷ͜ͱ
38 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
τʔΫϯྻ τʔΫϯྻ function helloWorld ( ) { console . log ؆୯ͳ+BWB4DSJQUͷιʔείʔυ ͷτʔΫϯΛݟͯΈΑ͏ ͜ͷίʔυͷઌ಄͔ΒॱʹԿ͕ τʔΫϯʹͳΔͷ͔Λݟ͍ͯ͘
39 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
τʔΫϯྻ τʔΫϯྻ function helloWorld ( ) { console . log τʔΫϯ
40 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
τʔΫϯྻ τʔΫϯྻ function helloWorld ( ) { console . log τʔΫϯ
41 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
τʔΫϯྻ τʔΫϯྻ function helloWorld ( ) { console . log τʔΫϯ
42 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
τʔΫϯྻ τʔΫϯྻ function helloWorld ( ) { console . log τʔΫϯ
43 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
τʔΫϯྻ τʔΫϯྻ function helloWorld ( ) { console . log τʔΫϯ
44 τʔΫϯྻ τʔΫϯྻ τʔΫϯͱɺιʔείʔυͷ จࣈྻʹग़ݱ͢ΔҙຯΛ࣋ͬͨ ࠷খ୯Ґͷ͜ͱ function helloWorld ( )
{ console . log
45 τʔΫϯྻ τʔΫϯྻ τʔΫϯྻͱɺιʔείʔυͷ จࣈྻʹग़ݱ͢ΔॱʹτʔΫϯΛ ฒͨͷ function helloWorld ( )
{ console . log
46 -JOU ݕ͍ࠪͨ͠ ιʔείʔυ ݕࠪϧʔϧ ͝ͱͷઃఆ ݕग़ͨ͠ ͷҰཡ ίʔσΟϯάελΠϧΛݕࠪ͢Δ-JOUͷྫ ࣈ۟
ղੳ τʔΫϯྻ ʢޙड़ʣ ݕࠪ
47 -JOU ݕ͍ࠪͨ͠ ιʔείʔυ ݕࠪϧʔϧ ͝ͱͷઃఆ ݕग़ͨ͠ ͷҰཡ ίʔσΟϯάελΠϧΛݕࠪ͢Δ-JOUͷྫ ࣈ۟
ղੳ τʔΫϯྻ ʢޙड़ʣ ݕࠪ
48 τʔΫϯྻ τʔΫϯྻ with ( obj ) { console .
log XJUIจͷར༻Λݕग़͢Δ-JOUͷ ॲཧͷྲྀΕΛΈͯΈΑ͏
49 τʔΫϯྻ τʔΫϯྻ with ( obj ) { console .
log // ېࢭ͞Ε͍ͯΔ with จΛ͍ͬͯΔ with (obj) { console.log(obj); }
50 τʔΫϯྻ τʔΫϯྻ with ( obj ) { console .
log // ېࢭ͞Ε͍ͯΔ with จΛ͍ͬͯΔ with (obj) { console.log(obj); }
51 τʔΫϯྻ τʔΫϯྻ with ( obj ) { console .
log // ېࢭ͞Ε͍ͯΔ with จΛ͍ͬͯΔ with (obj) { console.log(obj); } τʔΫϯྻͷઌ಄͔Βॱʹɺ τʔΫϯ͕XJUIΩʔϫʔυ͔ Ͳ͏͔ௐΔ͜ͱͰɺXJUIจͷ ༻Λݕग़Ͱ͖Δ
52 τʔΫϯྻ τʔΫϯྻ with ( obj ) { console .
log // ېࢭ͞Ε͍ͯΔ with จΛ͍ͬͯΔ with (obj) { console.log(obj); } XJUIΩʔϫʔυͷൃݟʹΑΓ XJUIจͷ༻Λݕग़Ͱ͖ͨ
53 ݕ͍ࠪͨ͠ ιʔείʔυ ݕࠪϧʔϧ ͝ͱͷઃఆ ݕग़ͨ͠ ͷҰཡ ΑΓߴͳݕࠪΛ͢Δ-JOUͷྫ ߏจ ղੳ
ݕࠪ நߏจ ʢޙड़ʣ -JOU
54 ݕ͍ࠪͨ͠ ιʔείʔυ ݕࠪϧʔϧ ͝ͱͷઃఆ ݕग़ͨ͠ ͷҰཡ ΑΓߴͳݕࠪΛ͢Δ-JOUͷྫ ߏจ ղੳ
ݕࠪ நߏจ ʢޙड़ʣ -JOU
55 நߏจͱɺݴޠ͝ͱͷنଇʹ ͕ͨͬͯ͠ιʔείʔυΛ ߏͰ͋ΒΘͨ͠ͷͷ͜ͱ நߏจ Program FuncDecl BlockStmt ExprStmt Identifier
CallExpr Identifier Identifier MemExpr Literal
56 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
؆୯ͳ+BWB4DSJQUͷιʔείʔυ ͷநߏจΛݟͯΈΑ͏ நߏจ Program FuncDecl BlockStmt ExprStmt Identifier CallExpr Identifier Identifier MemExpr Literal நߏจΛཧղ͢Δʹɺ༿͔Β ରԠ͢Δ෦ΛΈ͍ͯ͘ͱΑ͍
57 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
நߏจ Program FuncDecl BlockStmt ExprStmt Identifier CallExpr Identifier MemExpr Literal Identifier
58 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
நߏจ Program FuncDecl BlockStmt ExprStmt Identifier CallExpr MemExpr Identifier Literal Identifier
59 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
நߏจ Program FuncDecl BlockStmt ExprStmt Identifier CallExpr Literal MemExpr Identifier Identifier
60 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
நߏจ Program FuncDecl BlockStmt ExprStmt Identifier CallExpr Identifier MemExpr Identifier Literal
61 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
நߏจ Program FuncDecl BlockStmt ExprStmt Identifier CallExpr Literal MemExpr Identifier Identifier
62 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
நߏจ Program FuncDecl BlockStmt ExprStmt Identifier CallExpr Literal MemExpr Identifier Identifier
63 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
நߏจ Program FuncDecl BlockStmt Identifier CallExpr ExprStmt Literal MemExpr Identifier Identifier
64 /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); }
நߏจ Program FuncDecl BlockStmt Identifier CallExpr ExprStmt Literal MemExpr Identifier Identifier
65 ݕ͍ࠪͨ͠ ιʔείʔυ ݕࠪϧʔϧ ͝ͱͷઃఆ ݕग़ͨ͠ ͷҰཡ ΑΓߴͳݕࠪΛ͢Δ-JOUͷྫ ߏจ ղੳ
ݕࠪ நߏจ ʢޙड़ʣ -JOU
66 ݕ͍ࠪͨ͠ ιʔείʔυ ݕࠪϧʔϧ ͝ͱͷઃఆ ݕग़ͨ͠ ͷҰཡ ΑΓߴͳݕࠪΛ͢Δ-JOUͷྫ ߏจ ղੳ
ݕࠪ நߏจ ʢޙड़ʣ -JOU
67 DPOTPMFMPHݺͼग़͠Λݕग़͢Δ -JOUͷॲཧͷྲྀΕΛΈͯΈΑ͏ நߏจ Program FuncDecl BlockStmt ExprStmt Identifier CallExpr
Identifier Identifier MemExpr Literal
68 நߏจΛਂ͞༏ઌͰ୳ࡧ͠ɺ ͍ͨ͠෦ͷࠜΛݟ͚ͭΔ ࠓճؔݺͼग़͠ʹ͍ͨ͠ ͷͰɺ$BMM&YQSཁૉΛ୳͢ நߏจ Program FuncDecl BlockStmt ExprStmt
Identifier CallExpr Identifier Identifier MemExpr Literal
69 நߏจ FuncDecl BlockStmt ExprStmt Identifier CallExpr Identifier Identifier MemExpr
Literal Program $BMM&YQSͰͳ͍ͷͰແࢹ
70 நߏจ BlockStmt ExprStmt Identifier CallExpr Identifier Identifier MemExpr Literal
Program FuncDecl $BMM&YQSͰͳ͍ͷͰແࢹ
71 நߏจ BlockStmt ExprStmt CallExpr Identifier Identifier MemExpr Literal Program
FuncDecl Identifier $BMM&YQSͰͳ͍ͷͰແࢹ
72 நߏจ ExprStmt CallExpr Identifier Identifier MemExpr Literal Program FuncDecl
Identifier BlockStmt $BMM&YQSͰͳ͍ͷͰແࢹ
73 நߏจ CallExpr Identifier Identifier MemExpr Literal Program FuncDecl Identifier
BlockStmt ExprStmt $BMM&YQSͰͳ͍ͷͰແࢹ
74 நߏจ Identifier Identifier MemExpr Literal Program FuncDecl Identifier BlockStmt
ExprStmt CallExpr $BMM&YQSΛൃݟͨ͠
75 நߏจ Identifier Identifier MemExpr Literal Program FuncDecl Identifier BlockStmt
ExprStmt CallExpr $BMM&YQSΛൃݟͨ͠Βɺ͜ͷ ؔݺͼग़͕͠DPOTPMFMPHͷ ݺͼग़͠Ͱ͋Δ͜ͱΛ֬ೝ͢Δ ۩ମతʹɺݺͼग़͠ର͕ DPOTPMF͔ΒMPHϓϩύςΟΛ ࢀর͢Δ.FN&YQSͰ͋Δ͜ͱΛ ֬ೝ͢Εྑ͍
76 நߏจ Literal Program FuncDecl Identifier BlockStmt ExprStmt CallExpr Identifier
Identifier MemExpr /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); } ݺͼग़͠ର͕DPOTPMFMPHͰ͋Δ͜ͱΛ֬ೝ
77 நߏจ Literal Program FuncDecl Identifier BlockStmt ExprStmt CallExpr Identifier
Identifier MemExpr /** ϋϩʔϫʔϧυΛදࣔ͢Δ */ function helloWorld() { console.log("Hello, World!"); } DPOTPMFMPHͷؔݺͼग़͠Λݕग़Ͱ͖ͨ
78 -JOUͷߏͷ͓͞Β͍ w -JOUͷߏͲΕࣅ௨͍ͬͯΔͷͰɺͭΛ ಡΊΔΑ͏ʹͳΔͱଞͷಡΊΔΑ͏ʹͳΔ w ॲཧͷྲྀΕதؒσʔλ͕ҟͳΔ͚ͩͰ΄ͱΜͲಉ͡ w ѻ͏ओͳதؒσʔλɿ w
τʔΫϯྻ w நߏจ w ੍ޚϑϩʔάϥϑʢࠓճׂѪʣ
·ͱΊ 79
80 -JOUͷڭཆ -JOUͱ -JOUͷݕग़͢Δ -JOUͷߏ -JOUͷޮՌతͳ͍ํ