[{"data":1,"prerenderedAt":481},["ShallowReactive",2],{"navigation_docs":3,"-frontend-js-naming":190,"-frontend-js-naming-surround":476},[4,136,150,183],{"title":5,"path":6,"stem":7,"children":8},"Frontend","\u002Ffrontend","1.frontend",[9,13,39,76,109,130],{"title":10,"path":6,"stem":11,"order":12},"フロントエンド ガイドライン","1.frontend\u002Findex",1,{"title":14,"path":15,"stem":16,"children":17},"HTML","\u002Ffrontend\u002Fhtml","1.frontend\u002F1.html\u002Findex",[18,19,23,27,31,35],{"title":14,"path":15,"stem":16},{"title":20,"path":21,"stem":22},"コードスタイル","\u002Ffrontend\u002Fhtml\u002Fcode-style","1.frontend\u002F1.html\u002Fcode-style",{"title":24,"path":25,"stem":26},"見出しタグ","\u002Ffrontend\u002Fhtml\u002Fheading","1.frontend\u002F1.html\u002Fheading",{"title":28,"path":29,"stem":30},"img タグ","\u002Ffrontend\u002Fhtml\u002Fimg","1.frontend\u002F1.html\u002Fimg",{"title":32,"path":33,"stem":34},"パスとリンク","\u002Ffrontend\u002Fhtml\u002Flink","1.frontend\u002F1.html\u002Flink",{"title":36,"path":37,"stem":38},"品質管理","\u002Ffrontend\u002Fhtml\u002Fquality","1.frontend\u002F1.html\u002Fquality",{"title":40,"path":41,"stem":42,"children":43},"CSS","\u002Ffrontend\u002Fcss","1.frontend\u002F2.css\u002Findex",[44,45,49,52,56,60,64,68,72],{"title":40,"path":41,"stem":42},{"title":46,"path":47,"stem":48},"命名規則・コンポーネント設計","\u002Ffrontend\u002Fcss\u002Farchitecture","1.frontend\u002F2.css\u002Farchitecture",{"title":20,"path":50,"stem":51},"\u002Ffrontend\u002Fcss\u002Fcode-style","1.frontend\u002F2.css\u002Fcode-style",{"title":53,"path":54,"stem":55},"Web フォント","\u002Ffrontend\u002Fcss\u002Ffonts","1.frontend\u002F2.css\u002Ffonts",{"title":57,"path":58,"stem":59},"記述順番","\u002Ffrontend\u002Fcss\u002Forder","1.frontend\u002F2.css\u002Forder",{"title":61,"path":62,"stem":63},"プロパティのルール","\u002Ffrontend\u002Fcss\u002Fproperties","1.frontend\u002F2.css\u002Fproperties",{"title":65,"path":66,"stem":67},"Tailwind CSS","\u002Ffrontend\u002Fcss\u002Ftailwind","1.frontend\u002F2.css\u002Ftailwind",{"title":69,"path":70,"stem":71},"値のルール","\u002Ffrontend\u002Fcss\u002Fvalues","1.frontend\u002F2.css\u002Fvalues",{"title":73,"path":74,"stem":75},"CSS 変数（カスタムプロパティ）","\u002Ffrontend\u002Fcss\u002Fvariables","1.frontend\u002F2.css\u002Fvariables",{"title":77,"path":78,"stem":79,"children":80},"JavaScript","\u002Ffrontend\u002Fjs","1.frontend\u002F3.js\u002Findex",[81,82,85,89,93,97,101,105],{"title":77,"path":78,"stem":79},{"title":20,"path":83,"stem":84},"\u002Ffrontend\u002Fjs\u002Fcode-style","1.frontend\u002F3.js\u002Fcode-style",{"title":86,"path":87,"stem":88},"エラーハンドリング","\u002Ffrontend\u002Fjs\u002Ferror-handling","1.frontend\u002F3.js\u002Ferror-handling",{"title":90,"path":91,"stem":92},"ライブラリの利用","\u002Ffrontend\u002Fjs\u002Flibraries","1.frontend\u002F3.js\u002Flibraries",{"title":94,"path":95,"stem":96},"HTML への読み込み","\u002Ffrontend\u002Fjs\u002Floading","1.frontend\u002F3.js\u002Floading",{"title":98,"path":99,"stem":100},"モジュール","\u002Ffrontend\u002Fjs\u002Fmodule-structure","1.frontend\u002F3.js\u002Fmodule-structure",{"title":102,"path":103,"stem":104},"命名規則","\u002Ffrontend\u002Fjs\u002Fnaming","1.frontend\u002F3.js\u002Fnaming",{"title":106,"path":107,"stem":108},"パフォーマンス最適化","\u002Ffrontend\u002Fjs\u002Fperformance","1.frontend\u002F3.js\u002Fperformance",{"title":110,"path":111,"stem":112,"children":113},"画像・メディアリソースガイドライン","\u002Ffrontend\u002Fmedia","1.frontend\u002F4.media\u002Findex",[114,115,119,123,127],{"title":110,"path":111,"stem":112},{"title":116,"path":117,"stem":118},"アクセシビリティ","\u002Ffrontend\u002Fmedia\u002Faccessibility","1.frontend\u002F4.media\u002Faccessibility",{"title":120,"path":121,"stem":122},"画像フォーマット","\u002Ffrontend\u002Fmedia\u002Fformats","1.frontend\u002F4.media\u002Fformats",{"title":124,"path":125,"stem":126},"ファイル命名規則","\u002Ffrontend\u002Fmedia\u002Fnaming","1.frontend\u002F4.media\u002Fnaming",{"title":106,"path":128,"stem":129},"\u002Ffrontend\u002Fmedia\u002Foptimization","1.frontend\u002F4.media\u002Foptimization",{"title":131,"path":132,"stem":133,"children":134},"開発環境テンプレート","\u002Ffrontend\u002Fenvironment","1.frontend\u002F5.environment\u002Findex",[135],{"title":131,"path":132,"stem":133},{"title":137,"path":138,"stem":139,"children":140,"page":149},"Deploy Release","\u002Fdeploy-release","2.deploy-release",[141,145],{"title":142,"path":143,"stem":144},"デプロイ","\u002Fdeploy-release\u002Fdeploy","2.deploy-release\u002Fdeploy",{"title":146,"path":147,"stem":148},"リリース","\u002Fdeploy-release\u002Frelease","2.deploy-release\u002Frelease",false,{"title":151,"path":152,"stem":153,"children":154},"Git","\u002Fgit","3.git",[155,159,163,167,171,175,179],{"title":156,"path":152,"stem":157,"order":158},"Git ガイドライン","3.git\u002Findex",3,{"title":160,"path":161,"stem":162},"ブランチ戦略","\u002Fgit\u002Fbranch","3.git\u002Fbranch",{"title":164,"path":165,"stem":166},"CI\u002FCD運用","\u002Fgit\u002Fcicd","3.git\u002Fcicd",{"title":168,"path":169,"stem":170},"コミットメッセージとタグ","\u002Fgit\u002Fmessage","3.git\u002Fmessage",{"title":172,"path":173,"stem":174},"Pull Request運用","\u002Fgit\u002Fpull-request","3.git\u002Fpull-request",{"title":176,"path":177,"stem":178},"リポジトリ運用","\u002Fgit\u002Frepository","3.git\u002Frepository",{"title":180,"path":181,"stem":182},"GitHub権限・セキュリティ","\u002Fgit\u002Fsecurity","3.git\u002Fsecurity",{"title":184,"path":185,"stem":186,"children":187,"order":189},"AI 利用ガイドライン","\u002Fai","4.ai\u002Findex",[188],{"title":184,"path":185,"stem":186,"order":189},4,{"id":191,"title":102,"body":192,"description":469,"extension":470,"links":471,"meta":472,"navigation":473,"path":103,"seo":474,"stem":104,"__hash__":475},"docs\u002F1.frontend\u002F3.js\u002Fnaming.md",{"type":193,"value":194,"toc":463},"minimark",[195,200,204,329,332,335,373,376,379,416,419,422,459],[196,197,199],"h2",{"id":198},"変数関数の命名規則","変数・関数の命名規則",[201,202,203],"p",{},"変数や関数は、用途が分かるように命名します。キャメルケースやパスカルケースなど、用途ごとに形式を統一します。",[205,206,211],"pre",{"className":207,"code":208,"language":209,"meta":210,"style":210},"language-javascript shiki shiki-themes github-light material-theme material-theme-palenight","const userName = \"John Doe\"; \u002F\u002F キャメルケース\nconst MAX_RETRY_COUNT = 3; \u002F\u002F 定数は大文字スネークケース\nfunction getUserData(userId) {\n  \u002F* ... *\u002F\n} \u002F\u002F 動詞+名詞\nclass UserManager {\n  \u002F* ... *\u002F\n} \u002F\u002F パスカルケース\n","javascript","",[212,213,214,249,268,290,295,304,316,321],"code",{"__ignoreMap":210},[215,216,218,222,226,230,234,238,241,245],"span",{"class":217,"line":12},"line",[215,219,221],{"class":220},"sUoqF","const",[215,223,225],{"class":224},"s_GZX"," userName",[215,227,229],{"class":228},"sSBoF"," =",[215,231,233],{"class":232},"ssQ5U"," \"",[215,235,237],{"class":236},"scigg","John Doe",[215,239,240],{"class":232},"\"",[215,242,244],{"class":243},"sN50r",";",[215,246,248],{"class":247},"su8Ar"," \u002F\u002F キャメルケース\n",[215,250,252,254,257,259,263,265],{"class":217,"line":251},2,[215,253,221],{"class":220},[215,255,256],{"class":224}," MAX_RETRY_COUNT",[215,258,229],{"class":228},[215,260,262],{"class":261},"s9owh"," 3",[215,264,244],{"class":243},[215,266,267],{"class":247}," \u002F\u002F 定数は大文字スネークケース\n",[215,269,270,273,277,280,284,287],{"class":217,"line":158},[215,271,272],{"class":220},"function",[215,274,276],{"class":275},"s3Zf7"," getUserData",[215,278,279],{"class":243},"(",[215,281,283],{"class":282},"sgNys","userId",[215,285,286],{"class":243},")",[215,288,289],{"class":243}," {\n",[215,291,292],{"class":217,"line":189},[215,293,294],{"class":247},"  \u002F* ... *\u002F\n",[215,296,298,301],{"class":217,"line":297},5,[215,299,300],{"class":243},"}",[215,302,303],{"class":247}," \u002F\u002F 動詞+名詞\n",[215,305,307,310,314],{"class":217,"line":306},6,[215,308,309],{"class":220},"class",[215,311,313],{"class":312},"s3jxQ"," UserManager",[215,315,289],{"class":243},[215,317,319],{"class":217,"line":318},7,[215,320,294],{"class":247},[215,322,324,326],{"class":217,"line":323},8,[215,325,300],{"class":243},[215,327,328],{"class":247}," \u002F\u002F パスカルケース\n",[196,330,331],{"id":331},"変数名の命名",[201,333,334],{},"変数や関数名は、内容や役割が分かるように具体的に付けます。",[205,336,338],{"className":207,"code":337,"language":209,"meta":210,"style":210},"const userAge = 25; \u002F\u002F 良い例\nconst x = 25; \u002F\u002F 悪い例\n",[212,339,340,357],{"__ignoreMap":210},[215,341,342,344,347,349,352,354],{"class":217,"line":12},[215,343,221],{"class":220},[215,345,346],{"class":224}," userAge",[215,348,229],{"class":228},[215,350,351],{"class":261}," 25",[215,353,244],{"class":243},[215,355,356],{"class":247}," \u002F\u002F 良い例\n",[215,358,359,361,364,366,368,370],{"class":217,"line":251},[215,360,221],{"class":220},[215,362,363],{"class":224}," x",[215,365,229],{"class":228},[215,367,351],{"class":261},[215,369,244],{"class":243},[215,371,372],{"class":247}," \u002F\u002F 悪い例\n",[196,374,375],{"id":375},"ブール値の命名",[201,377,378],{},"真偽値は is\u002Fhas\u002Fcan\u002Fshould など判定が分かる名前にします。",[205,380,382],{"className":207,"code":381,"language":209,"meta":210,"style":210},"const isLoggedIn = true; \u002F\u002F 良い例\nconst login = true; \u002F\u002F 悪い例\n",[212,383,384,401],{"__ignoreMap":210},[215,385,386,388,391,393,397,399],{"class":217,"line":12},[215,387,221],{"class":220},[215,389,390],{"class":224}," isLoggedIn",[215,392,229],{"class":228},[215,394,396],{"class":395},"s1f5w"," true",[215,398,244],{"class":243},[215,400,356],{"class":247},[215,402,403,405,408,410,412,414],{"class":217,"line":251},[215,404,221],{"class":220},[215,406,407],{"class":224}," login",[215,409,229],{"class":228},[215,411,396],{"class":395},[215,413,244],{"class":243},[215,415,372],{"class":247},[196,417,418],{"id":418},"配列とオブジェクトの命名",[201,420,421],{},"配列は複数形、オブジェクトは内容が分かる名前にします。",[205,423,425],{"className":207,"code":424,"language":209,"meta":210,"style":210},"const users = []; \u002F\u002F 良い例\nconst user = []; \u002F\u002F 悪い例\n",[212,426,427,444],{"__ignoreMap":210},[215,428,429,431,434,436,440,442],{"class":217,"line":12},[215,430,221],{"class":220},[215,432,433],{"class":224}," users",[215,435,229],{"class":228},[215,437,439],{"class":438},"sKuZN"," []",[215,441,244],{"class":243},[215,443,356],{"class":247},[215,445,446,448,451,453,455,457],{"class":217,"line":251},[215,447,221],{"class":220},[215,449,450],{"class":224}," user",[215,452,229],{"class":228},[215,454,439],{"class":438},[215,456,244],{"class":243},[215,458,372],{"class":247},[460,461,462],"style",{},"html pre.shiki code .sUoqF, html code.shiki .sUoqF{--shiki-light:#D73A49;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s_GZX, html code.shiki .s_GZX{--shiki-light:#005CC5;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sSBoF, html code.shiki .sSBoF{--shiki-light:#D73A49;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .ssQ5U, html code.shiki .ssQ5U{--shiki-light:#032F62;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .scigg, html code.shiki .scigg{--shiki-light:#032F62;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sN50r, html code.shiki .sN50r{--shiki-light:#24292E;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .su8Ar, html code.shiki .su8Ar{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s9owh, html code.shiki .s9owh{--shiki-light:#005CC5;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s3Zf7, html code.shiki .s3Zf7{--shiki-light:#6F42C1;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sgNys, html code.shiki .sgNys{--shiki-light:#E36209;--shiki-light-font-style:inherit;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .s3jxQ, html code.shiki .s3jxQ{--shiki-light:#6F42C1;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s1f5w, html code.shiki .s1f5w{--shiki-light:#005CC5;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sKuZN, html code.shiki .sKuZN{--shiki-light:#24292E;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":210,"searchDepth":251,"depth":251,"links":464},[465,466,467,468],{"id":198,"depth":251,"text":199},{"id":331,"depth":251,"text":331},{"id":375,"depth":251,"text":375},{"id":418,"depth":251,"text":418},"変数・関数・クラスの命名規則とケース使い分け","md",null,{},true,{"title":102,"description":469},"H83lD3obT_5Yap5a0spPpQUKK7_tZt_u45vLPFSzFqE",[477,479],{"title":98,"path":99,"stem":100,"description":478,"children":-1},"ESモジュールの分割方針と実行タイミングの最適化",{"title":106,"path":107,"stem":108,"description":480,"children":-1},"イベント処理の最適化とObserver APIの活用によるパフォーマンス向上",1780099579315]