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
28
12k
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
テストケースの名前はどうつけるべきか?
orgachem
PRO
1
410
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.2k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
110
HOME VR
orgachem
PRO
1
800
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.4k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.3k
SoftWare Engineer in Test のおしごと / What is SWET
orgachem
PRO
1
1.1k
私と Nature Remo E / Nature Remo E
orgachem
PRO
0
26k
存在しないアセットへの参照と 未公開アセットでのネタバレに どう立ち向かうか / How to prevent missing assets and spoilers by assets
orgachem
PRO
1
1.1k
Other Decks in Programming
See All in Programming
PsySHから紐解くREPLの仕組み
muno92
PRO
1
540
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.4k
Develop Faster With FrankenPHP
dunglas
2
3.1k
List とは何か? / PHPerKaigi 2025
meihei3
0
590
PHPUnit 高速化テクニック / PHPUnit Speedup Techniques
pinkumohikan
1
1.3k
S3静的ホスティング+Next.js静的エクスポート で格安webアプリ構築
iharuoru
0
220
Building Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
cyrilmottier
1
160
リアルタイムレイトレーシング + ニューラルレンダリング簡単紹介 / Real-Time Ray Tracing & Neural Rendering: A Quick Introduction (2025)
shocker_0x15
1
270
SQL Server ベクトル検索
odashinsuke
0
150
Building a macOS screen saver with Kotlin (Android Makers 2025)
zsmb
1
110
Preact、HooksとSignalsの両立 / Preact: Harmonizing Hooks and Signals
ssssota
1
1.2k
Vibe Codingをせずに Clineを使っている
watany
16
5.2k
Featured
See All Featured
Producing Creativity
orderedlist
PRO
344
40k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Git: the NoSQL Database
bkeepers
PRO
430
65k
BBQ
matthewcrist
88
9.6k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
Automating Front-end Workflow
addyosmani
1369
200k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
For a Future-Friendly Web
brad_frost
176
9.6k
How to Think Like a Performance Engineer
csswizardry
22
1.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.6k
The Pragmatic Product Professional
lauravandoore
33
6.5k
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ͷޮՌతͳ͍ํ