diff --git a/apps/web/src/__generated__/questions/quiz/are-you-familiar-with-styling-svg/en-US.json b/apps/web/src/__generated__/questions/quiz/are-you-familiar-with-styling-svg/en-US.json
index c6f1c0543..bdeb135a7 100644
--- a/apps/web/src/__generated__/questions/quiz/are-you-familiar-with-styling-svg/en-US.json
+++ b/apps/web/src/__generated__/questions/quiz/are-you-familiar-with-styling-svg/en-US.json
@@ -27,5 +27,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/are-you-familiar-with-styling-svg/en-US.mdx"
},
- "solution": "var Component=(()=>{var h=Object.create;var a=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var m=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),g=(t,e)=>{for(var i in e)a(t,i,{get:e[i],enumerable:!0})},r=(t,e,i,l)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let s of p(e))!f.call(t,s)&&s!==i&&a(t,s,{get:()=>e[s],enumerable:!(l=u(e,s))||l.enumerable});return t};var y=(t,e,i)=>(i=t!=null?h(b(t)):{},r(e||!t||!t.__esModule?a(i,\"default\",{value:t,enumerable:!0}):i,t)),S=t=>r(a({},\"__esModule\",{value:!0}),t);var c=m((C,o)=>{o.exports=_jsx_runtime});var j={};g(j,{default:()=>w,frontmatter:()=>x});var n=y(c()),x={title:\"Are you familiar with styling SVG?\"};function d(t){let e=Object.assign({p:\"p\",code:\"code\",pre:\"pre\",em:\"em\",a:\"a\"},t.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:\"There are several ways to color shapes (including specifying attributes on the object) using inline CSS, an embedded CSS section, or an external CSS file. Most SVGs you find on the web uses inline CSS, but there are advantages and disadvantages associated with each type.\"}),`\n`,(0,n.jsxs)(e.p,{children:[\"Basic coloring can be done by setting two attributes on the node: \",(0,n.jsx)(e.code,{children:\"fill\"}),\" and \",(0,n.jsx)(e.code,{children:\"stroke\"}),\". \",(0,n.jsx)(e.code,{children:\"fill\"}),\" sets the color inside the object and \",(0,n.jsx)(e.code,{children:\"stroke\"}),\" sets the color of the line drawn around the object. You can use the same CSS color naming schemes that you use in HTML, whether that's color names (that is \",(0,n.jsx)(e.code,{children:\"red\"}),\"), RGB values (that is \",(0,n.jsx)(e.code,{children:\"rgb(255,0,0)\"}),\"), Hex values, RGBA values, etc.\"]}),`\n`,(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:\"language-html\",children:`\n`})}),`\n`,(0,n.jsxs)(e.p,{children:[\"The above \",(0,n.jsx)(e.code,{children:'fill=\"purple\"'}),\" is an example of a \",(0,n.jsx)(e.em,{children:\"presentational attribute\"}),\". Interestingly, and unlike inline styles like \",(0,n.jsx)(e.code,{children:'style=\"fill: purple\"'}),\" which also happens to be an attribute, presentational attributes can be \",(0,n.jsx)(e.a,{href:\"https://css-tricks.com/presentation-attributes-vs-inline-styles/\",children:\"overridden by CSS\"}),\" styles defined in a stylesheet. Hence if you did something like \",(0,n.jsx)(e.code,{children:\"svg { fill: blue; }\"}),\" it will override the purple fill that has been defined.\"]})]})}function v(t={}){let{wrapper:e}=t.components||{};return e?(0,n.jsx)(e,Object.assign({},t,{children:(0,n.jsx)(d,t)})):d(t)}var w=v;return S(j);})();\n;return Component;"
+ "solution": "var Component=(()=>{var u=Object.create;var l=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),g=(t,e)=>{for(var i in e)l(t,i,{get:e[i],enumerable:!0})},a=(t,e,i,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let s of f(e))!b.call(t,s)&&s!==i&&l(t,s,{get:()=>e[s],enumerable:!(r=p(e,s))||r.enumerable});return t};var S=(t,e,i)=>(i=t!=null?u(m(t)):{},a(e||!t||!t.__esModule?l(i,\"default\",{value:t,enumerable:!0}):i,t)),x=t=>a(l({},\"__esModule\",{value:!0}),t);var c=y((k,o)=>{o.exports=_jsx_runtime});var w={};g(w,{default:()=>h,frontmatter:()=>v});var n=S(c()),v={title:\"Are you familiar with styling SVG?\"};function d(t){let e={a:\"a\",code:\"code\",em:\"em\",p:\"p\",pre:\"pre\",...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:\"There are several ways to color shapes (including specifying attributes on the object) using inline CSS, an embedded CSS section, or an external CSS file. Most SVGs you find on the web uses inline CSS, but there are advantages and disadvantages associated with each type.\"}),`\n`,(0,n.jsxs)(e.p,{children:[\"Basic coloring can be done by setting two attributes on the node: \",(0,n.jsx)(e.code,{children:\"fill\"}),\" and \",(0,n.jsx)(e.code,{children:\"stroke\"}),\". \",(0,n.jsx)(e.code,{children:\"fill\"}),\" sets the color inside the object and \",(0,n.jsx)(e.code,{children:\"stroke\"}),\" sets the color of the line drawn around the object. You can use the same CSS color naming schemes that you use in HTML, whether that's color names (that is \",(0,n.jsx)(e.code,{children:\"red\"}),\"), RGB values (that is \",(0,n.jsx)(e.code,{children:\"rgb(255,0,0)\"}),\"), Hex values, RGBA values, etc.\"]}),`\n`,(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:\"language-html\",children:`\n`})}),`\n`,(0,n.jsxs)(e.p,{children:[\"The above \",(0,n.jsx)(e.code,{children:'fill=\"purple\"'}),\" is an example of a \",(0,n.jsx)(e.em,{children:\"presentational attribute\"}),\". Interestingly, and unlike inline styles like \",(0,n.jsx)(e.code,{children:'style=\"fill: purple\"'}),\" which also happens to be an attribute, presentational attributes can be \",(0,n.jsx)(e.a,{href:\"https://css-tricks.com/presentation-attributes-vs-inline-styles/\",children:\"overridden by CSS\"}),\" styles defined in a stylesheet. Hence if you did something like \",(0,n.jsx)(e.code,{children:\"svg { fill: blue; }\"}),\" it will override the purple fill that has been defined.\"]})]})}function h(t={}){let{wrapper:e}=t.components||{};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}return x(w);})();\n;return Component;"
}
\ No newline at end of file
diff --git a/apps/web/src/__generated__/questions/quiz/are-you-familiar-with-styling-svg/pt-BR.json b/apps/web/src/__generated__/questions/quiz/are-you-familiar-with-styling-svg/pt-BR.json
index 56774f6d6..cf9e93ad1 100644
--- a/apps/web/src/__generated__/questions/quiz/are-you-familiar-with-styling-svg/pt-BR.json
+++ b/apps/web/src/__generated__/questions/quiz/are-you-familiar-with-styling-svg/pt-BR.json
@@ -27,5 +27,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/are-you-familiar-with-styling-svg/pt-BR.mdx"
},
- "solution": "var Component=(()=>{var m=Object.create;var a=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var b=(o,e)=>()=>(e||o((e={exports:{}}).exports,e),e.exports),x=(o,e)=>{for(var r in e)a(o,r,{get:e[r],enumerable:!0})},i=(o,e,r,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of p(e))!f.call(o,t)&&t!==r&&a(o,t,{get:()=>e[t],enumerable:!(s=u(e,t))||s.enumerable});return o};var g=(o,e,r)=>(r=o!=null?m(h(o)):{},i(e||!o||!o.__esModule?a(r,\"default\",{value:o,enumerable:!0}):r,o)),v=o=>i(a({},\"__esModule\",{value:!0}),o);var d=b((_,c)=>{c.exports=_jsx_runtime});var y={};x(y,{default:()=>q,frontmatter:()=>S});var n=g(d()),S={title:\"Voc\\xEA conhece o estilo SVG?\"};function l(o){let e=Object.assign({p:\"p\",code:\"code\",pre:\"pre\",em:\"em\",a:\"a\"},o.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:\"Se voc\\xEA usa alguma ferramenta de an\\xE1lise est\\xE1tica em seu fluxo de trabalho (por exemplo, ESLint, TypeScript Compiler), geralmente ela tamb\\xE9m pode verificar se voc\\xEA est\\xE1 referenciando vari\\xE1veis n\\xE3o declaradas. A maioria dos SVGs que voc\\xEA encontra na web usa CSS inline, mas existem vantagens e desvantagens associadas a cada tipo.\"}),`\n`,(0,n.jsxs)(e.p,{children:[\"A colora\\xE7\\xE3o b\\xE1sica pode ser feita definindo dois atributos no n\\xF3: \",(0,n.jsx)(e.code,{children:\"fill\"}),\" e \",(0,n.jsx)(e.code,{children:\"stroke\"}),\". \",(0,n.jsx)(e.code,{children:\"fill\"}),\" define a cor dentro do objeto e \",(0,n.jsx)(e.code,{children:\"stroke\"}),\" define a cor da linha desenhada ao redor do objeto. Voc\\xEA pode usar os mesmos esquemas de nomenclatura de cores CSS que voc\\xEA usa em HTML, independentemente de serem nomes de cores (que \\xE9 \",(0,n.jsx)(e.code,{children:\"red\"}),\"), Valores RGB (que s\\xE3o \",(0,n.jsx)(e.code,{children:\"rgb(255,0,0)\"}),\"), valores de Hex, valores RGBA, etc.\"]}),`\n`,(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:\"language-html\",children:`\n`})}),`\n`,(0,n.jsxs)(e.p,{children:[\"O \",(0,n.jsx)(e.code,{children:'fill=\"purple\"'}),\" acima \\xE9 um exemplo de um \",(0,n.jsx)(e.em,{children:\"atributo apresentacional\"}),\". Curiosamente, e ao contr\\xE1rio de estilos embutidos como \",(0,n.jsx)(e.code,{children:'style=\"fill: purple\"'}),\" que tamb\\xE9m \\xE9 um atributo, os atributos de apresenta\\xE7\\xE3o podem ser \",(0,n.jsx)(e.a,{href:\"https://css-tricks.com/presentation-attributes-vs-inline-styles/\",children:\"sobrescritos pelo CSS\"}),\" definidos em uma folha de estilos. Da\\xED se voc\\xEA fez algo como \",(0,n.jsx)(e.code,{children:\"svg { fill: blue; }\"}),\" ele ir\\xE1 substituir o preenchimento roxo que foi definido.\"]})]})}function j(o={}){let{wrapper:e}=o.components||{};return e?(0,n.jsx)(e,Object.assign({},o,{children:(0,n.jsx)(l,o)})):l(o)}var q=j;return v(y);})();\n;return Component;"
+ "solution": "var Component=(()=>{var u=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var x=(o,e)=>()=>(e||o((e={exports:{}}).exports,e),e.exports),v=(o,e)=>{for(var r in e)a(o,r,{get:e[r],enumerable:!0})},i=(o,e,r,s)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of h(e))!b.call(o,t)&&t!==r&&a(o,t,{get:()=>e[t],enumerable:!(s=p(e,t))||s.enumerable});return o};var g=(o,e,r)=>(r=o!=null?u(f(o)):{},i(e||!o||!o.__esModule?a(r,\"default\",{value:o,enumerable:!0}):r,o)),S=o=>i(a({},\"__esModule\",{value:!0}),o);var d=x((C,c)=>{c.exports=_jsx_runtime});var q={};v(q,{default:()=>m,frontmatter:()=>j});var n=g(d()),j={title:\"Voc\\xEA conhece o estilo SVG?\"};function l(o){let e={a:\"a\",code:\"code\",em:\"em\",p:\"p\",pre:\"pre\",...o.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:\"Se voc\\xEA usa alguma ferramenta de an\\xE1lise est\\xE1tica em seu fluxo de trabalho (por exemplo, ESLint, TypeScript Compiler), geralmente ela tamb\\xE9m pode verificar se voc\\xEA est\\xE1 referenciando vari\\xE1veis n\\xE3o declaradas. A maioria dos SVGs que voc\\xEA encontra na web usa CSS inline, mas existem vantagens e desvantagens associadas a cada tipo.\"}),`\n`,(0,n.jsxs)(e.p,{children:[\"A colora\\xE7\\xE3o b\\xE1sica pode ser feita definindo dois atributos no n\\xF3: \",(0,n.jsx)(e.code,{children:\"fill\"}),\" e \",(0,n.jsx)(e.code,{children:\"stroke\"}),\". \",(0,n.jsx)(e.code,{children:\"fill\"}),\" define a cor dentro do objeto e \",(0,n.jsx)(e.code,{children:\"stroke\"}),\" define a cor da linha desenhada ao redor do objeto. Voc\\xEA pode usar os mesmos esquemas de nomenclatura de cores CSS que voc\\xEA usa em HTML, independentemente de serem nomes de cores (que \\xE9 \",(0,n.jsx)(e.code,{children:\"red\"}),\"), Valores RGB (que s\\xE3o \",(0,n.jsx)(e.code,{children:\"rgb(255,0,0)\"}),\"), valores de Hex, valores RGBA, etc.\"]}),`\n`,(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:\"language-html\",children:`\n`})}),`\n`,(0,n.jsxs)(e.p,{children:[\"O \",(0,n.jsx)(e.code,{children:'fill=\"purple\"'}),\" acima \\xE9 um exemplo de um \",(0,n.jsx)(e.em,{children:\"atributo apresentacional\"}),\". Curiosamente, e ao contr\\xE1rio de estilos embutidos como \",(0,n.jsx)(e.code,{children:'style=\"fill: purple\"'}),\" que tamb\\xE9m \\xE9 um atributo, os atributos de apresenta\\xE7\\xE3o podem ser \",(0,n.jsx)(e.a,{href:\"https://css-tricks.com/presentation-attributes-vs-inline-styles/\",children:\"sobrescritos pelo CSS\"}),\" definidos em uma folha de estilos. Da\\xED se voc\\xEA fez algo como \",(0,n.jsx)(e.code,{children:\"svg { fill: blue; }\"}),\" ele ir\\xE1 substituir o preenchimento roxo que foi definido.\"]})]})}function m(o={}){let{wrapper:e}=o.components||{};return e?(0,n.jsx)(e,{...o,children:(0,n.jsx)(l,{...o})}):l(o)}return S(q);})();\n;return Component;"
}
\ No newline at end of file
diff --git a/apps/web/src/__generated__/questions/quiz/are-you-familiar-with-styling-svg/zh-CN.json b/apps/web/src/__generated__/questions/quiz/are-you-familiar-with-styling-svg/zh-CN.json
index b5141d7dd..37880b1ec 100644
--- a/apps/web/src/__generated__/questions/quiz/are-you-familiar-with-styling-svg/zh-CN.json
+++ b/apps/web/src/__generated__/questions/quiz/are-you-familiar-with-styling-svg/zh-CN.json
@@ -27,5 +27,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/are-you-familiar-with-styling-svg/zh-CN.mdx"
},
- "solution": "var Component=(()=>{var a=Object.create;var l=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var f=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),x=(n,e)=>{for(var r in e)l(n,r,{get:e[r],enumerable:!0})},o=(n,e,r,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let c of m(e))!S.call(n,c)&&c!==r&&l(n,c,{get:()=>e[c],enumerable:!(i=p(e,c))||i.enumerable});return n};var g=(n,e,r)=>(r=n!=null?a(u(n)):{},o(e||!n||!n.__esModule?l(r,\"default\",{value:n,enumerable:!0}):r,n)),C=n=>o(l({},\"__esModule\",{value:!0}),n);var d=f((G,s)=>{s.exports=_jsx_runtime});var y={};x(y,{default:()=>b,frontmatter:()=>j});var t=g(d()),j={title:\"\\u4F60\\u719F\\u6089 SVG \\u7684\\u6837\\u5F0F\\u8BBE\\u7F6E\\u5417\\uFF1F\"};function h(n){let e=Object.assign({p:\"p\",code:\"code\",pre:\"pre\",em:\"em\",a:\"a\"},n.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.p,{children:\"\\u6709\\u51E0\\u79CD\\u65B9\\u6CD5\\u53EF\\u4EE5\\u4E3A\\u5F62\\u72B6\\u7740\\u8272\\uFF08\\u5305\\u62EC\\u5728\\u5BF9\\u8C61\\u4E0A\\u6307\\u5B9A\\u5C5E\\u6027\\uFF09\\uFF0C\\u53EF\\u4EE5\\u4F7F\\u7528\\u5185\\u8054 CSS\\u3001\\u5D4C\\u5165\\u5F0F CSS \\u90E8\\u5206\\u6216\\u5916\\u90E8 CSS \\u6587\\u4EF6\\u3002 \\u60A8\\u5728\\u7F51\\u7EDC\\u4E0A\\u627E\\u5230\\u7684\\u5927\\u591A\\u6570 SVG \\u90FD\\u4F7F\\u7528\\u5185\\u8054 CSS\\uFF0C\\u4F46\\u6BCF\\u79CD\\u7C7B\\u578B\\u90FD\\u6709\\u5176\\u4F18\\u70B9\\u548C\\u7F3A\\u70B9\\u3002\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"\\u53EF\\u4EE5\\u901A\\u8FC7\\u5728\\u8282\\u70B9\\u4E0A\\u8BBE\\u7F6E\\u4E24\\u4E2A\\u5C5E\\u6027\\u6765\\u5B8C\\u6210\\u57FA\\u672C\\u7740\\u8272\\uFF1A\",(0,t.jsx)(e.code,{children:\"fill\"}),\" \\u548C \",(0,t.jsx)(e.code,{children:\"stroke\"}),\"\\u3002 \",(0,t.jsx)(e.code,{children:\"fill\"}),\" \\u8BBE\\u7F6E\\u5BF9\\u8C61\\u5185\\u90E8\\u7684\\u989C\\u8272\\uFF0C\",(0,t.jsx)(e.code,{children:\"stroke\"}),\" \\u8BBE\\u7F6E\\u7ED8\\u5236\\u5728\\u5BF9\\u8C61\\u5468\\u56F4\\u7684\\u7EBF\\u6761\\u7684\\u989C\\u8272\\u3002 \\u60A8\\u53EF\\u4EE5\\u4F7F\\u7528\\u5728 HTML \\u4E2D\\u4F7F\\u7528\\u7684\\u76F8\\u540C CSS \\u989C\\u8272\\u547D\\u540D\\u65B9\\u6848\\uFF0C\\u65E0\\u8BBA\\u662F\\u989C\\u8272\\u540D\\u79F0\\uFF08\\u5373 \",(0,t.jsx)(e.code,{children:\"red\"}),\"\\uFF09\\u3001RGB \\u503C\\uFF08\\u5373 \",(0,t.jsx)(e.code,{children:\"rgb(255,0,0)\"}),\"\\uFF09\\u3001\\u5341\\u516D\\u8FDB\\u5236\\u503C\\u3001RGBA \\u503C\\u7B49\\u3002\"]}),`\n`,(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:\"language-html\",children:`\n`})}),`\n`,(0,t.jsxs)(e.p,{children:[\"\\u4E0A\\u9762\\u7684 \",(0,t.jsx)(e.code,{children:'fill=\"purple\"'}),\" \\u662F\",(0,t.jsx)(e.em,{children:\"\\u8868\\u73B0\\u5C5E\\u6027\"}),\"\\u7684\\u4E00\\u4E2A\\u4F8B\\u5B50\\u3002 \\u6709\\u8DA3\\u7684\\u662F\\uFF0C\\u4E0E \",(0,t.jsx)(e.code,{children:'style=\"fill: purple\"'}),\" \\u8FD9\\u6837\\u7684\\u5185\\u8054\\u6837\\u5F0F\\uFF08\\u5B83\\u4E5F\\u6070\\u597D\\u662F\\u4E00\\u4E2A\\u5C5E\\u6027\\uFF09\\u4E0D\\u540C\\uFF0C\\u8868\\u73B0\\u5C5E\\u6027\\u53EF\\u4EE5\\u88AB\\u6837\\u5F0F\\u8868\\u4E2D\\u5B9A\\u4E49\\u7684 \",(0,t.jsx)(e.a,{href:\"https://css-tricks.com/presentation-attributes-vs-inline-styles/\",children:\"CSS \\u6837\\u5F0F\\u8986\\u76D6\"}),\"\\u3002 \\u56E0\\u6B64\\uFF0C\\u5982\\u679C\\u60A8\\u6267\\u884C\\u7C7B\\u4F3C \",(0,t.jsx)(e.code,{children:\"svg { fill: blue; }\"}),\" \\u7684\\u64CD\\u4F5C\\uFF0C\\u5B83\\u5C06\\u8986\\u76D6\\u5DF2\\u5B9A\\u4E49\\u7684\\u7D2B\\u8272\\u586B\\u5145\\u3002\"]})]})}function _(n={}){let{wrapper:e}=n.components||{};return e?(0,t.jsx)(e,Object.assign({},n,{children:(0,t.jsx)(h,n)})):h(n)}var b=_;return C(y);})();\n;return Component;"
+ "solution": "var Component=(()=>{var p=Object.create;var l=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var x=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),C=(n,e)=>{for(var t in e)l(n,t,{get:e[t],enumerable:!0})},o=(n,e,t,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let c of u(e))!f.call(n,c)&&c!==t&&l(n,c,{get:()=>e[c],enumerable:!(i=m(e,c))||i.enumerable});return n};var g=(n,e,t)=>(t=n!=null?p(S(n)):{},o(e||!n||!n.__esModule?l(t,\"default\",{value:n,enumerable:!0}):t,n)),_=n=>o(l({},\"__esModule\",{value:!0}),n);var s=x((b,d)=>{d.exports=_jsx_runtime});var j={};C(j,{default:()=>a,frontmatter:()=>y});var r=g(s()),y={title:\"\\u4F60\\u719F\\u6089 SVG \\u7684\\u6837\\u5F0F\\u8BBE\\u7F6E\\u5417\\uFF1F\"};function h(n){let e={a:\"a\",code:\"code\",em:\"em\",p:\"p\",pre:\"pre\",...n.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.p,{children:\"\\u6709\\u51E0\\u79CD\\u65B9\\u6CD5\\u53EF\\u4EE5\\u4E3A\\u5F62\\u72B6\\u7740\\u8272\\uFF08\\u5305\\u62EC\\u5728\\u5BF9\\u8C61\\u4E0A\\u6307\\u5B9A\\u5C5E\\u6027\\uFF09\\uFF0C\\u53EF\\u4EE5\\u4F7F\\u7528\\u5185\\u8054 CSS\\u3001\\u5D4C\\u5165\\u5F0F CSS \\u90E8\\u5206\\u6216\\u5916\\u90E8 CSS \\u6587\\u4EF6\\u3002 \\u60A8\\u5728\\u7F51\\u7EDC\\u4E0A\\u627E\\u5230\\u7684\\u5927\\u591A\\u6570 SVG \\u90FD\\u4F7F\\u7528\\u5185\\u8054 CSS\\uFF0C\\u4F46\\u6BCF\\u79CD\\u7C7B\\u578B\\u90FD\\u6709\\u5176\\u4F18\\u70B9\\u548C\\u7F3A\\u70B9\\u3002\"}),`\n`,(0,r.jsxs)(e.p,{children:[\"\\u53EF\\u4EE5\\u901A\\u8FC7\\u5728\\u8282\\u70B9\\u4E0A\\u8BBE\\u7F6E\\u4E24\\u4E2A\\u5C5E\\u6027\\u6765\\u5B8C\\u6210\\u57FA\\u672C\\u7740\\u8272\\uFF1A\",(0,r.jsx)(e.code,{children:\"fill\"}),\" \\u548C \",(0,r.jsx)(e.code,{children:\"stroke\"}),\"\\u3002 \",(0,r.jsx)(e.code,{children:\"fill\"}),\" \\u8BBE\\u7F6E\\u5BF9\\u8C61\\u5185\\u90E8\\u7684\\u989C\\u8272\\uFF0C\",(0,r.jsx)(e.code,{children:\"stroke\"}),\" \\u8BBE\\u7F6E\\u7ED8\\u5236\\u5728\\u5BF9\\u8C61\\u5468\\u56F4\\u7684\\u7EBF\\u6761\\u7684\\u989C\\u8272\\u3002 \\u60A8\\u53EF\\u4EE5\\u4F7F\\u7528\\u5728 HTML \\u4E2D\\u4F7F\\u7528\\u7684\\u76F8\\u540C CSS \\u989C\\u8272\\u547D\\u540D\\u65B9\\u6848\\uFF0C\\u65E0\\u8BBA\\u662F\\u989C\\u8272\\u540D\\u79F0\\uFF08\\u5373 \",(0,r.jsx)(e.code,{children:\"red\"}),\"\\uFF09\\u3001RGB \\u503C\\uFF08\\u5373 \",(0,r.jsx)(e.code,{children:\"rgb(255,0,0)\"}),\"\\uFF09\\u3001\\u5341\\u516D\\u8FDB\\u5236\\u503C\\u3001RGBA \\u503C\\u7B49\\u3002\"]}),`\n`,(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:\"language-html\",children:`\n`})}),`\n`,(0,r.jsxs)(e.p,{children:[\"\\u4E0A\\u9762\\u7684 \",(0,r.jsx)(e.code,{children:'fill=\"purple\"'}),\" \\u662F\",(0,r.jsx)(e.em,{children:\"\\u8868\\u73B0\\u5C5E\\u6027\"}),\"\\u7684\\u4E00\\u4E2A\\u4F8B\\u5B50\\u3002 \\u6709\\u8DA3\\u7684\\u662F\\uFF0C\\u4E0E \",(0,r.jsx)(e.code,{children:'style=\"fill: purple\"'}),\" \\u8FD9\\u6837\\u7684\\u5185\\u8054\\u6837\\u5F0F\\uFF08\\u5B83\\u4E5F\\u6070\\u597D\\u662F\\u4E00\\u4E2A\\u5C5E\\u6027\\uFF09\\u4E0D\\u540C\\uFF0C\\u8868\\u73B0\\u5C5E\\u6027\\u53EF\\u4EE5\\u88AB\\u6837\\u5F0F\\u8868\\u4E2D\\u5B9A\\u4E49\\u7684 \",(0,r.jsx)(e.a,{href:\"https://css-tricks.com/presentation-attributes-vs-inline-styles/\",children:\"CSS \\u6837\\u5F0F\\u8986\\u76D6\"}),\"\\u3002 \\u56E0\\u6B64\\uFF0C\\u5982\\u679C\\u60A8\\u6267\\u884C\\u7C7B\\u4F3C \",(0,r.jsx)(e.code,{children:\"svg { fill: blue; }\"}),\" \\u7684\\u64CD\\u4F5C\\uFF0C\\u5B83\\u5C06\\u8986\\u76D6\\u5DF2\\u5B9A\\u4E49\\u7684\\u7D2B\\u8272\\u586B\\u5145\\u3002\"]})]})}function a(n={}){let{wrapper:e}=n.components||{};return e?(0,r.jsx)(e,{...n,children:(0,r.jsx)(h,{...n})}):h(n)}return _(j);})();\n;return Component;"
}
\ No newline at end of file
diff --git a/apps/web/src/__generated__/questions/quiz/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/en-US.json b/apps/web/src/__generated__/questions/quiz/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/en-US.json
index 1b940ab24..0017a0cf5 100644
--- a/apps/web/src/__generated__/questions/quiz/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/en-US.json
+++ b/apps/web/src/__generated__/questions/quiz/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/en-US.json
@@ -27,5 +27,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/en-US.mdx"
},
- "solution": "var Component=(()=>{var m=Object.create;var a=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var g=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),x=(n,e)=>{for(var t in e)a(n,t,{get:e[t],enumerable:!0})},l=(n,e,t,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let i of p(e))!f.call(n,i)&&i!==t&&a(n,i,{get:()=>e[i],enumerable:!(r=h(e,i))||r.enumerable});return n};var v=(n,e,t)=>(t=n!=null?m(u(n)):{},l(e||!n||!n.__esModule?a(t,\"default\",{value:n,enumerable:!0}):t,n)),b=n=>l(a({},\"__esModule\",{value:!0}),n);var c=g((M,o)=>{o.exports=_jsx_runtime});var z={};x(z,{default:()=>j,frontmatter:()=>y});var s=v(c()),y={title:\"Can you explain the difference between coding a website to be responsive versus using a mobile-first strategy?\"};function d(n){let e=Object.assign({p:\"p\",pre:\"pre\",code:\"code\",ul:\"ul\",li:\"li\"},n.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:\"These two approaches are not mutually exclusive. Making a website responsive means that some elements will respond by adapting its size or other functionality according to the device's screen size, typically the viewport width, through CSS media queries, for example, making the font size smaller on smaller devices.\"}),`\n`,(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:\"language-css\",children:`@media (min-width: 768px) {\n .my-class {\n font-size: 24px;\n }\n}\n\n@media (max-width: 767px) {\n .my-class {\n font-size: 12px;\n }\n}\n`})}),`\n`,(0,s.jsx)(e.p,{children:\"A mobile-first strategy is also responsive, however it agrees we should default and define all the styles for mobile devices, and only add specific responsive rules to other devices later. Following the previous example:\"}),`\n`,(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:\"language-css\",children:`.my-class {\n font-size: 12px;\n}\n\n@media (min-width: 768px) {\n .my-class {\n font-size: 24px;\n }\n}\n`})}),`\n`,(0,s.jsx)(e.p,{children:\"A mobile-first strategy has the following main advantages:\"}),`\n`,(0,s.jsxs)(e.ul,{children:[`\n`,(0,s.jsx)(e.li,{children:\"It's more performant on mobile devices, since all the rules applied for them don't have to be validated against any media queries.\"}),`\n`,(0,s.jsx)(e.li,{children:\"Mobile-first designs are more likely to be usable on larger devices (will just appear more stretched, but still usable). However, the reverse is not the case.\"}),`\n`]})]})}function w(n={}){let{wrapper:e}=n.components||{};return e?(0,s.jsx)(e,Object.assign({},n,{children:(0,s.jsx)(d,n)})):d(n)}var j=w;return b(z);})();\n;return Component;"
+ "solution": "var Component=(()=>{var h=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var x=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),v=(n,e)=>{for(var t in e)a(n,t,{get:e[t],enumerable:!0})},l=(n,e,t,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let i of u(e))!g.call(n,i)&&i!==t&&a(n,i,{get:()=>e[i],enumerable:!(r=p(e,i))||r.enumerable});return n};var y=(n,e,t)=>(t=n!=null?h(f(n)):{},l(e||!n||!n.__esModule?a(t,\"default\",{value:n,enumerable:!0}):t,n)),w=n=>l(a({},\"__esModule\",{value:!0}),n);var c=x((j,o)=>{o.exports=_jsx_runtime});var z={};v(z,{default:()=>m,frontmatter:()=>b});var s=y(c()),b={title:\"Can you explain the difference between coding a website to be responsive versus using a mobile-first strategy?\"};function d(n){let e={code:\"code\",li:\"li\",p:\"p\",pre:\"pre\",ul:\"ul\",...n.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:\"These two approaches are not mutually exclusive. Making a website responsive means that some elements will respond by adapting its size or other functionality according to the device's screen size, typically the viewport width, through CSS media queries, for example, making the font size smaller on smaller devices.\"}),`\n`,(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:\"language-css\",children:`@media (min-width: 768px) {\n .my-class {\n font-size: 24px;\n }\n}\n\n@media (max-width: 767px) {\n .my-class {\n font-size: 12px;\n }\n}\n`})}),`\n`,(0,s.jsx)(e.p,{children:\"A mobile-first strategy is also responsive, however it agrees we should default and define all the styles for mobile devices, and only add specific responsive rules to other devices later. Following the previous example:\"}),`\n`,(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:\"language-css\",children:`.my-class {\n font-size: 12px;\n}\n\n@media (min-width: 768px) {\n .my-class {\n font-size: 24px;\n }\n}\n`})}),`\n`,(0,s.jsx)(e.p,{children:\"A mobile-first strategy has the following main advantages:\"}),`\n`,(0,s.jsxs)(e.ul,{children:[`\n`,(0,s.jsx)(e.li,{children:\"It's more performant on mobile devices, since all the rules applied for them don't have to be validated against any media queries.\"}),`\n`,(0,s.jsx)(e.li,{children:\"Mobile-first designs are more likely to be usable on larger devices (will just appear more stretched, but still usable). However, the reverse is not the case.\"}),`\n`]})]})}function m(n={}){let{wrapper:e}=n.components||{};return e?(0,s.jsx)(e,{...n,children:(0,s.jsx)(d,{...n})}):d(n)}return w(z);})();\n;return Component;"
}
\ No newline at end of file
diff --git a/apps/web/src/__generated__/questions/quiz/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/pt-BR.json b/apps/web/src/__generated__/questions/quiz/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/pt-BR.json
index d68732ec6..2f4a89fd2 100644
--- a/apps/web/src/__generated__/questions/quiz/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/pt-BR.json
+++ b/apps/web/src/__generated__/questions/quiz/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/pt-BR.json
@@ -27,5 +27,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/pt-BR.mdx"
},
- "solution": "var Component=(()=>{var p=Object.create;var o=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var x=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),h=(s,e)=>{for(var n in e)o(s,n,{get:e[n],enumerable:!0})},t=(s,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let i of u(e))!g.call(s,i)&&i!==n&&o(s,i,{get:()=>e[i],enumerable:!(r=l(e,i))||r.enumerable});return s};var v=(s,e,n)=>(n=s!=null?p(f(s)):{},t(e||!s||!s.__esModule?o(n,\"default\",{value:s,enumerable:!0}):n,s)),b=s=>t(o({},\"__esModule\",{value:!0}),s);var d=x((q,m)=>{m.exports=_jsx_runtime});var w={};h(w,{default:()=>z,frontmatter:()=>j});var a=v(d()),j={title:\"Voc\\xEA pode explicar a diferen\\xE7a entre codificar um site para ser responsivo e usar uma estrat\\xE9gia mobile-first?\"};function c(s){let e=Object.assign({p:\"p\",pre:\"pre\",code:\"code\",ul:\"ul\",li:\"li\"},s.components);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:\"Estas duas abordagens n\\xE3o se excluem mutuamente. Tornar um site responsivo significa que alguns elementos ir\\xE3o responder adaptando seu tamanho ou outras funcionalidades de acordo com o tamanho da tela do dispositivo, normalmente a largura da viewport, atrav\\xE9s de media queries CSS, por exemplo, tornando o tamanho da fonte menor em dispositivos menores.\"}),`\n`,(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:\"language-css\",children:`@media (min-width: 768px) {\n . y-class {\n font-size: 24px;\n }\n}\n\n@media (max-width: 767px) {\n . y-class {\n font-size: 12px;\n }\n}\n`})}),`\n`,(0,a.jsx)(e.p,{children:\"Uma estrat\\xE9gia mobile-first tamb\\xE9m \\xE9 responsiva, no entanto, ela define todos os estilos para dispositivos m\\xF3veis como padr\\xE3o e adiciona regras espec\\xEDficas para dispositivos maiores posteriormente. Seguindo o exemplo anterior:\"}),`\n`,(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:\"language-css\",children:`.min-classe {\n font-size: 12px;\n}\n\n@media (min-width: 768px) {\n .my-class {\n font-size: 24px;\n }\n`})}),`\n`,(0,a.jsx)(e.p,{children:\"Uma estrat\\xE9gia mobile-first tem as seguintes principais vantagens:\"}),`\n`,(0,a.jsxs)(e.ul,{children:[`\n`,(0,a.jsx)(e.li,{children:\"\\xC9 mais perform\\xE1tico em dispositivos m\\xF3veis, j\\xE1 que todas as regras aplicadas para eles n\\xE3o precisam ser validadas em rela\\xE7\\xE3o a nenhuma media query.\"}),`\n`,(0,a.jsx)(e.li,{children:\"Designs mobile-first s\\xE3o mais propensos a ser utiliz\\xE1veis em dispositivos maiores (apenas aparecer\\xE3o mais esticados, mas ainda utiliz\\xE1veis). No entanto, o inverso n\\xE3o \\xE9 verdadeiro.\"}),`\n`]})]})}function _(s={}){let{wrapper:e}=s.components||{};return e?(0,a.jsx)(e,Object.assign({},s,{children:(0,a.jsx)(c,s)})):c(s)}var z=_;return b(w);})();\n;return Component;"
+ "solution": "var Component=(()=>{var l=Object.create;var o=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var h=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),v=(a,e)=>{for(var n in e)o(a,n,{get:e[n],enumerable:!0})},t=(a,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let i of f(e))!g.call(a,i)&&i!==n&&o(a,i,{get:()=>e[i],enumerable:!(r=u(e,i))||r.enumerable});return a};var _=(a,e,n)=>(n=a!=null?l(x(a)):{},t(e||!a||!a.__esModule?o(n,\"default\",{value:a,enumerable:!0}):n,a)),b=a=>t(o({},\"__esModule\",{value:!0}),a);var d=h((y,m)=>{m.exports=_jsx_runtime});var z={};v(z,{default:()=>p,frontmatter:()=>j});var s=_(d()),j={title:\"Voc\\xEA pode explicar a diferen\\xE7a entre codificar um site para ser responsivo e usar uma estrat\\xE9gia mobile-first?\"};function c(a){let e={code:\"code\",li:\"li\",p:\"p\",pre:\"pre\",ul:\"ul\",...a.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:\"Estas duas abordagens n\\xE3o se excluem mutuamente. Tornar um site responsivo significa que alguns elementos ir\\xE3o responder adaptando seu tamanho ou outras funcionalidades de acordo com o tamanho da tela do dispositivo, normalmente a largura da viewport, atrav\\xE9s de media queries CSS, por exemplo, tornando o tamanho da fonte menor em dispositivos menores.\"}),`\n`,(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:\"language-css\",children:`@media (min-width: 768px) {\n . y-class {\n font-size: 24px;\n }\n}\n\n@media (max-width: 767px) {\n . y-class {\n font-size: 12px;\n }\n}\n`})}),`\n`,(0,s.jsx)(e.p,{children:\"Uma estrat\\xE9gia mobile-first tamb\\xE9m \\xE9 responsiva, no entanto, ela define todos os estilos para dispositivos m\\xF3veis como padr\\xE3o e adiciona regras espec\\xEDficas para dispositivos maiores posteriormente. Seguindo o exemplo anterior:\"}),`\n`,(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:\"language-css\",children:`.min-classe {\n font-size: 12px;\n}\n\n@media (min-width: 768px) {\n .my-class {\n font-size: 24px;\n }\n`})}),`\n`,(0,s.jsx)(e.p,{children:\"Uma estrat\\xE9gia mobile-first tem as seguintes principais vantagens:\"}),`\n`,(0,s.jsxs)(e.ul,{children:[`\n`,(0,s.jsx)(e.li,{children:\"\\xC9 mais perform\\xE1tico em dispositivos m\\xF3veis, j\\xE1 que todas as regras aplicadas para eles n\\xE3o precisam ser validadas em rela\\xE7\\xE3o a nenhuma media query.\"}),`\n`,(0,s.jsx)(e.li,{children:\"Designs mobile-first s\\xE3o mais propensos a ser utiliz\\xE1veis em dispositivos maiores (apenas aparecer\\xE3o mais esticados, mas ainda utiliz\\xE1veis). No entanto, o inverso n\\xE3o \\xE9 verdadeiro.\"}),`\n`]})]})}function p(a={}){let{wrapper:e}=a.components||{};return e?(0,s.jsx)(e,{...a,children:(0,s.jsx)(c,{...a})}):c(a)}return b(z);})();\n;return Component;"
}
\ No newline at end of file
diff --git a/apps/web/src/__generated__/questions/quiz/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/zh-CN.json b/apps/web/src/__generated__/questions/quiz/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/zh-CN.json
index bfae4d01e..bfa331f05 100644
--- a/apps/web/src/__generated__/questions/quiz/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/zh-CN.json
+++ b/apps/web/src/__generated__/questions/quiz/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/zh-CN.json
@@ -27,5 +27,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/can-you-explain-the-difference-between-coding-a-website-to-be-responsive-versus-using-a-mobile-first-strategy/zh-CN.mdx"
},
- "solution": "var Component=(()=>{var m=Object.create;var i=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var f=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),g=(e,n)=>{for(var t in n)i(e,t,{get:n[t],enumerable:!0})},l=(e,n,t,r)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let c of x(n))!u.call(e,c)&&c!==t&&i(e,c,{get:()=>n[c],enumerable:!(r=p(n,c))||r.enumerable});return e};var j=(e,n,t)=>(t=e!=null?m(h(e)):{},l(n||!e||!e.__esModule?i(t,\"default\",{value:e,enumerable:!0}):t,e)),_=e=>l(i({},\"__esModule\",{value:!0}),e);var o=f((b,a)=>{a.exports=_jsx_runtime});var C={};g(C,{default:()=>z,frontmatter:()=>y});var s=j(o()),y={title:\"\\u4F60\\u80FD\\u89E3\\u91CA\\u4E00\\u4E0B\\u7F16\\u5199\\u54CD\\u5E94\\u5F0F\\u7F51\\u7AD9\\u4E0E\\u4F7F\\u7528\\u79FB\\u52A8\\u4F18\\u5148\\u7B56\\u7565\\u7684\\u533A\\u522B\\u5417\\uFF1F\"};function d(e){let n=Object.assign({p:\"p\",pre:\"pre\",code:\"code\",ul:\"ul\",li:\"li\"},e.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:\"\\u8FD9\\u4E24\\u79CD\\u65B9\\u6CD5\\u5E76\\u975E\\u76F8\\u4E92\\u6392\\u65A5\\u3002\\u4F7F\\u7F51\\u7AD9\\u5177\\u6709\\u54CD\\u5E94\\u6027\\u610F\\u5473\\u7740\\u67D0\\u4E9B\\u5143\\u7D20\\u5C06\\u901A\\u8FC7\\u8C03\\u6574\\u5176\\u5927\\u5C0F\\u6216\\u5176\\u4ED6\\u529F\\u80FD\\u6765\\u54CD\\u5E94\\uFF0C\\u5177\\u4F53\\u53D6\\u51B3\\u4E8E\\u8BBE\\u5907\\u7684\\u5C4F\\u5E55\\u5C3A\\u5BF8\\uFF0C\\u901A\\u5E38\\u662F\\u89C6\\u53E3\\u5BBD\\u5EA6\\uFF0C\\u4F8B\\u5982\\u901A\\u8FC7 CSS \\u5A92\\u4F53\\u67E5\\u8BE2\\uFF0C\\u4F8B\\u5982\\uFF0C\\u5728\\u8F83\\u5C0F\\u7684\\u8BBE\\u5907\\u4E0A\\u51CF\\u5C0F\\u5B57\\u4F53\\u5927\\u5C0F\\u3002\"}),`\n`,(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:\"language-css\",children:`@media (min-width: 768px) {\n .my-class {\n font-size: 24px;\n }\n}\n\n@media (max-width: 767px) {\n .my-class {\n font-size: 12px;\n }\n}\n`})}),`\n`,(0,s.jsx)(n.p,{children:\"\\u79FB\\u52A8\\u4F18\\u5148\\u7B56\\u7565\\u4E5F\\u5177\\u6709\\u54CD\\u5E94\\u6027\\uFF0C\\u4F46\\u662F\\u5B83\\u540C\\u610F\\u6211\\u4EEC\\u5E94\\u8BE5\\u4E3A\\u79FB\\u52A8\\u8BBE\\u5907\\u8BBE\\u7F6E\\u9ED8\\u8BA4\\u503C\\u5E76\\u5B9A\\u4E49\\u6240\\u6709\\u6837\\u5F0F\\uFF0C\\u5E76\\u4E14\\u7A0D\\u540E\\u4EC5\\u4E3A\\u5176\\u4ED6\\u8BBE\\u5907\\u6DFB\\u52A0\\u7279\\u5B9A\\u7684\\u54CD\\u5E94\\u5F0F\\u89C4\\u5219\\u3002 \\u9075\\u5FAA\\u524D\\u9762\\u7684\\u793A\\u4F8B\\uFF1A\"}),`\n`,(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:\"language-css\",children:`.my-class {\n font-size: 12px;\n}\n\n@media (min-width: 768px) {\n .my-class {\n font-size: 24px;\n }\n}\n`})}),`\n`,(0,s.jsx)(n.p,{children:\"\\u79FB\\u52A8\\u4F18\\u5148\\u7B56\\u7565\\u5177\\u6709\\u4EE5\\u4E0B\\u4E3B\\u8981\\u4F18\\u70B9\\uFF1A\"}),`\n`,(0,s.jsxs)(n.ul,{children:[`\n`,(0,s.jsx)(n.li,{children:\"\\u5B83\\u5728\\u79FB\\u52A8\\u8BBE\\u5907\\u4E0A\\u5177\\u6709\\u66F4\\u9AD8\\u7684\\u6027\\u80FD\\uFF0C\\u56E0\\u4E3A\\u5E94\\u7528\\u4E8E\\u5B83\\u4EEC\\u7684\\u89C4\\u5219\\u4E0D\\u5FC5\\u9488\\u5BF9\\u4EFB\\u4F55\\u5A92\\u4F53\\u67E5\\u8BE2\\u8FDB\\u884C\\u9A8C\\u8BC1\\u3002\"}),`\n`,(0,s.jsx)(n.li,{children:\"\\u79FB\\u52A8\\u4F18\\u5148\\u8BBE\\u8BA1\\u66F4\\u6709\\u53EF\\u80FD\\u5728\\u66F4\\u5927\\u7684\\u8BBE\\u5907\\u4E0A\\u4F7F\\u7528\\uFF08\\u53EA\\u4F1A\\u663E\\u5F97\\u66F4\\u62C9\\u4F38\\uFF0C\\u4F46\\u4ECD\\u7136\\u53EF\\u7528\\uFF09\\u3002 \\u4F46\\u662F\\uFF0C\\u53CD\\u4E4B\\u5219\\u4E0D\\u7136\\u3002\"}),`\n`]})]})}function w(e={}){let{wrapper:n}=e.components||{};return n?(0,s.jsx)(n,Object.assign({},e,{children:(0,s.jsx)(d,e)})):d(e)}var z=w;return _(C);})();\n;return Component;"
+ "solution": "var Component=(()=>{var p=Object.create;var i=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var _=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),g=(e,n)=>{for(var s in n)i(e,s,{get:n[s],enumerable:!0})},l=(e,n,s,r)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let c of h(n))!f.call(e,c)&&c!==s&&i(e,c,{get:()=>n[c],enumerable:!(r=x(n,c))||r.enumerable});return e};var j=(e,n,s)=>(s=e!=null?p(u(e)):{},l(n||!e||!e.__esModule?i(s,\"default\",{value:e,enumerable:!0}):s,e)),y=e=>l(i({},\"__esModule\",{value:!0}),e);var o=_((M,a)=>{a.exports=_jsx_runtime});var z={};g(z,{default:()=>m,frontmatter:()=>w});var t=j(o()),w={title:\"\\u4F60\\u80FD\\u89E3\\u91CA\\u4E00\\u4E0B\\u7F16\\u5199\\u54CD\\u5E94\\u5F0F\\u7F51\\u7AD9\\u4E0E\\u4F7F\\u7528\\u79FB\\u52A8\\u4F18\\u5148\\u7B56\\u7565\\u7684\\u533A\\u522B\\u5417\\uFF1F\"};function d(e){let n={code:\"code\",li:\"li\",p:\"p\",pre:\"pre\",ul:\"ul\",...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:\"\\u8FD9\\u4E24\\u79CD\\u65B9\\u6CD5\\u5E76\\u975E\\u76F8\\u4E92\\u6392\\u65A5\\u3002\\u4F7F\\u7F51\\u7AD9\\u5177\\u6709\\u54CD\\u5E94\\u6027\\u610F\\u5473\\u7740\\u67D0\\u4E9B\\u5143\\u7D20\\u5C06\\u901A\\u8FC7\\u8C03\\u6574\\u5176\\u5927\\u5C0F\\u6216\\u5176\\u4ED6\\u529F\\u80FD\\u6765\\u54CD\\u5E94\\uFF0C\\u5177\\u4F53\\u53D6\\u51B3\\u4E8E\\u8BBE\\u5907\\u7684\\u5C4F\\u5E55\\u5C3A\\u5BF8\\uFF0C\\u901A\\u5E38\\u662F\\u89C6\\u53E3\\u5BBD\\u5EA6\\uFF0C\\u4F8B\\u5982\\u901A\\u8FC7 CSS \\u5A92\\u4F53\\u67E5\\u8BE2\\uFF0C\\u4F8B\\u5982\\uFF0C\\u5728\\u8F83\\u5C0F\\u7684\\u8BBE\\u5907\\u4E0A\\u51CF\\u5C0F\\u5B57\\u4F53\\u5927\\u5C0F\\u3002\"}),`\n`,(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:\"language-css\",children:`@media (min-width: 768px) {\n .my-class {\n font-size: 24px;\n }\n}\n\n@media (max-width: 767px) {\n .my-class {\n font-size: 12px;\n }\n}\n`})}),`\n`,(0,t.jsx)(n.p,{children:\"\\u79FB\\u52A8\\u4F18\\u5148\\u7B56\\u7565\\u4E5F\\u5177\\u6709\\u54CD\\u5E94\\u6027\\uFF0C\\u4F46\\u662F\\u5B83\\u540C\\u610F\\u6211\\u4EEC\\u5E94\\u8BE5\\u4E3A\\u79FB\\u52A8\\u8BBE\\u5907\\u8BBE\\u7F6E\\u9ED8\\u8BA4\\u503C\\u5E76\\u5B9A\\u4E49\\u6240\\u6709\\u6837\\u5F0F\\uFF0C\\u5E76\\u4E14\\u7A0D\\u540E\\u4EC5\\u4E3A\\u5176\\u4ED6\\u8BBE\\u5907\\u6DFB\\u52A0\\u7279\\u5B9A\\u7684\\u54CD\\u5E94\\u5F0F\\u89C4\\u5219\\u3002 \\u9075\\u5FAA\\u524D\\u9762\\u7684\\u793A\\u4F8B\\uFF1A\"}),`\n`,(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:\"language-css\",children:`.my-class {\n font-size: 12px;\n}\n\n@media (min-width: 768px) {\n .my-class {\n font-size: 24px;\n }\n}\n`})}),`\n`,(0,t.jsx)(n.p,{children:\"\\u79FB\\u52A8\\u4F18\\u5148\\u7B56\\u7565\\u5177\\u6709\\u4EE5\\u4E0B\\u4E3B\\u8981\\u4F18\\u70B9\\uFF1A\"}),`\n`,(0,t.jsxs)(n.ul,{children:[`\n`,(0,t.jsx)(n.li,{children:\"\\u5B83\\u5728\\u79FB\\u52A8\\u8BBE\\u5907\\u4E0A\\u5177\\u6709\\u66F4\\u9AD8\\u7684\\u6027\\u80FD\\uFF0C\\u56E0\\u4E3A\\u5E94\\u7528\\u4E8E\\u5B83\\u4EEC\\u7684\\u89C4\\u5219\\u4E0D\\u5FC5\\u9488\\u5BF9\\u4EFB\\u4F55\\u5A92\\u4F53\\u67E5\\u8BE2\\u8FDB\\u884C\\u9A8C\\u8BC1\\u3002\"}),`\n`,(0,t.jsx)(n.li,{children:\"\\u79FB\\u52A8\\u4F18\\u5148\\u8BBE\\u8BA1\\u66F4\\u6709\\u53EF\\u80FD\\u5728\\u66F4\\u5927\\u7684\\u8BBE\\u5907\\u4E0A\\u4F7F\\u7528\\uFF08\\u53EA\\u4F1A\\u663E\\u5F97\\u66F4\\u62C9\\u4F38\\uFF0C\\u4F46\\u4ECD\\u7136\\u53EF\\u7528\\uFF09\\u3002 \\u4F46\\u662F\\uFF0C\\u53CD\\u4E4B\\u5219\\u4E0D\\u7136\\u3002\"}),`\n`]})]})}function m(e={}){let{wrapper:n}=e.components||{};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}return y(z);})();\n;return Component;"
}
\ No newline at end of file
diff --git a/apps/web/src/__generated__/questions/quiz/can-you-give-an-example-of-an-media-property-other-than-screen/en-US.json b/apps/web/src/__generated__/questions/quiz/can-you-give-an-example-of-an-media-property-other-than-screen/en-US.json
index 764b5234a..3de8b7b40 100644
--- a/apps/web/src/__generated__/questions/quiz/can-you-give-an-example-of-an-media-property-other-than-screen/en-US.json
+++ b/apps/web/src/__generated__/questions/quiz/can-you-give-an-example-of-an-media-property-other-than-screen/en-US.json
@@ -27,5 +27,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/can-you-give-an-example-of-an-media-property-other-than-screen/en-US.mdx"
},
- "solution": "var Component=(()=>{var p=Object.create;var i=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var x=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),g=(n,e)=>{for(var c in e)i(n,c,{get:e[c],enumerable:!0})},l=(n,e,c,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of m(e))!f.call(n,t)&&t!==c&&i(n,t,{get:()=>e[t],enumerable:!(o=h(e,t))||o.enumerable});return n};var j=(n,e,c)=>(c=n!=null?p(u(n)):{},l(e||!n||!n.__esModule?i(c,\"default\",{value:n,enumerable:!0}):c,n)),y=n=>l(i({},\"__esModule\",{value:!0}),n);var s=x((D,d)=>{d.exports=_jsx_runtime});var M={};g(M,{default:()=>C,frontmatter:()=>_});var r=j(s()),_={title:\"Can you give an example of an `@media` property other than `screen`?\"};function a(n){let e=Object.assign({p:\"p\",code:\"code\",ul:\"ul\",li:\"li\",pre:\"pre\"},n.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(e.p,{children:[\"There are four types of \",(0,r.jsx)(e.code,{children:\"@media\"}),\" properties (including \",(0,r.jsx)(e.code,{children:\"screen\"}),\"):\"]}),`\n`,(0,r.jsxs)(e.ul,{children:[`\n`,(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:\"all\"}),\": for all media type devices\"]}),`\n`,(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:\"print\"}),\": for printers\"]}),`\n`,(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:\"speech\"}),': for screen readers that \"reads\" the page out loud']}),`\n`,(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:\"screen\"}),\": for computer screens, tablets, smart-phones etc.\"]}),`\n`]}),`\n`,(0,r.jsxs)(e.p,{children:[\"Here is an example of \",(0,r.jsx)(e.code,{children:\"print\"}),\" media type's usage:\"]}),`\n`,(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:\"language-css\",children:`@media print {\n body {\n color: black;\n }\n}\n`})})]})}function b(n={}){let{wrapper:e}=n.components||{};return e?(0,r.jsx)(e,Object.assign({},n,{children:(0,r.jsx)(a,n)})):a(n)}var C=b;return y(M);})();\n;return Component;"
+ "solution": "var Component=(()=>{var h=Object.create;var o=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var g=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),y=(n,e)=>{for(var c in e)o(n,c,{get:e[c],enumerable:!0})},l=(n,e,c,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of u(e))!x.call(n,t)&&t!==c&&o(n,t,{get:()=>e[t],enumerable:!(i=m(e,t))||i.enumerable});return n};var _=(n,e,c)=>(c=n!=null?h(f(n)):{},l(e||!n||!n.__esModule?o(c,\"default\",{value:n,enumerable:!0}):c,n)),j=n=>l(o({},\"__esModule\",{value:!0}),n);var a=g((v,d)=>{d.exports=_jsx_runtime});var C={};y(C,{default:()=>p,frontmatter:()=>b});var r=_(a()),b={title:\"Can you give an example of an `@media` property other than `screen`?\"};function s(n){let e={code:\"code\",li:\"li\",p:\"p\",pre:\"pre\",ul:\"ul\",...n.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(e.p,{children:[\"There are four types of \",(0,r.jsx)(e.code,{children:\"@media\"}),\" properties (including \",(0,r.jsx)(e.code,{children:\"screen\"}),\"):\"]}),`\n`,(0,r.jsxs)(e.ul,{children:[`\n`,(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:\"all\"}),\": for all media type devices\"]}),`\n`,(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:\"print\"}),\": for printers\"]}),`\n`,(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:\"speech\"}),': for screen readers that \"reads\" the page out loud']}),`\n`,(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:\"screen\"}),\": for computer screens, tablets, smart-phones etc.\"]}),`\n`]}),`\n`,(0,r.jsxs)(e.p,{children:[\"Here is an example of \",(0,r.jsx)(e.code,{children:\"print\"}),\" media type's usage:\"]}),`\n`,(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:\"language-css\",children:`@media print {\n body {\n color: black;\n }\n}\n`})})]})}function p(n={}){let{wrapper:e}=n.components||{};return e?(0,r.jsx)(e,{...n,children:(0,r.jsx)(s,{...n})}):s(n)}return j(C);})();\n;return Component;"
}
\ No newline at end of file
diff --git a/apps/web/src/__generated__/questions/quiz/can-you-give-an-example-of-an-media-property-other-than-screen/pt-BR.json b/apps/web/src/__generated__/questions/quiz/can-you-give-an-example-of-an-media-property-other-than-screen/pt-BR.json
index 911fa1aa1..161862b46 100644
--- a/apps/web/src/__generated__/questions/quiz/can-you-give-an-example-of-an-media-property-other-than-screen/pt-BR.json
+++ b/apps/web/src/__generated__/questions/quiz/can-you-give-an-example-of-an-media-property-other-than-screen/pt-BR.json
@@ -27,5 +27,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/can-you-give-an-example-of-an-media-property-other-than-screen/pt-BR.mdx"
},
- "solution": "var Component=(()=>{var p=Object.create;var o=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var g=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),j=(n,e)=>{for(var r in e)o(n,r,{get:e[r],enumerable:!0})},c=(n,e,r,t)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let i of h(e))!x.call(n,i)&&i!==r&&o(n,i,{get:()=>e[i],enumerable:!(t=m(e,i))||t.enumerable});return n};var _=(n,e,r)=>(r=n!=null?p(u(n)):{},c(e||!n||!n.__esModule?o(r,\"default\",{value:n,enumerable:!0}):r,n)),f=n=>c(o({},\"__esModule\",{value:!0}),n);var l=g((C,a)=>{a.exports=_jsx_runtime});var v={};j(v,{default:()=>M,frontmatter:()=>b});var d=_(l()),b={title:\"Voc\\xEA pode dar um exemplo de uma propriedade `@media` diferente de `tela`?\"};function s(n){let e=Object.assign({p:\"p\",code:\"code\",ul:\"ul\",li:\"li\",pre:\"pre\"},n.components);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(e.p,{children:[\"Existem quatro tipos de propriedades \",(0,d.jsx)(e.code,{children:\"@media\"}),\" (incluindo \",(0,d.jsx)(e.code,{children:\"screen\"}),\"):\"]}),`\n`,(0,d.jsxs)(e.ul,{children:[`\n`,(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.code,{children:\"all\"}),\": para todos os dispositivos de tipo de m\\xEDdia\"]}),`\n`,(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.code,{children:\"print\"}),\": para impressoras\"]}),`\n`,(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.code,{children:\"speech\"}),': para leitores de tela que \"l\\xEAem\" a p\\xE1gina em voz alta']}),`\n`,(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.code,{children:\"screen\"}),\": para telas de computadores, tablets, smartphones, etc.\"]}),`\n`]}),`\n`,(0,d.jsxs)(e.p,{children:[\"Aqui est\\xE1 um exemplo de uso do tipo de m\\xEDdia \",(0,d.jsx)(e.code,{children:\"print\"}),\":\"]}),`\n`,(0,d.jsx)(e.pre,{children:(0,d.jsx)(e.code,{className:\"language-css\",children:`@media print {\n body {\n color: black;\n }\n}\n`})})]})}function q(n={}){let{wrapper:e}=n.components||{};return e?(0,d.jsx)(e,Object.assign({},n,{children:(0,d.jsx)(s,n)})):s(n)}var M=q;return f(v);})();\n;return Component;"
+ "solution": "var Component=(()=>{var m=Object.create;var i=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var f=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),g=(n,e)=>{for(var r in e)i(n,r,{get:e[r],enumerable:!0})},c=(n,e,r,t)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of u(e))!_.call(n,o)&&o!==r&&i(n,o,{get:()=>e[o],enumerable:!(t=h(e,o))||t.enumerable});return n};var j=(n,e,r)=>(r=n!=null?m(x(n)):{},c(e||!n||!n.__esModule?i(r,\"default\",{value:n,enumerable:!0}):r,n)),b=n=>c(i({},\"__esModule\",{value:!0}),n);var l=f((y,a)=>{a.exports=_jsx_runtime});var M={};g(M,{default:()=>p,frontmatter:()=>q});var d=j(l()),q={title:\"Voc\\xEA pode dar um exemplo de uma propriedade `@media` diferente de `tela`?\"};function s(n){let e={code:\"code\",li:\"li\",p:\"p\",pre:\"pre\",ul:\"ul\",...n.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(e.p,{children:[\"Existem quatro tipos de propriedades \",(0,d.jsx)(e.code,{children:\"@media\"}),\" (incluindo \",(0,d.jsx)(e.code,{children:\"screen\"}),\"):\"]}),`\n`,(0,d.jsxs)(e.ul,{children:[`\n`,(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.code,{children:\"all\"}),\": para todos os dispositivos de tipo de m\\xEDdia\"]}),`\n`,(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.code,{children:\"print\"}),\": para impressoras\"]}),`\n`,(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.code,{children:\"speech\"}),': para leitores de tela que \"l\\xEAem\" a p\\xE1gina em voz alta']}),`\n`,(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.code,{children:\"screen\"}),\": para telas de computadores, tablets, smartphones, etc.\"]}),`\n`]}),`\n`,(0,d.jsxs)(e.p,{children:[\"Aqui est\\xE1 um exemplo de uso do tipo de m\\xEDdia \",(0,d.jsx)(e.code,{children:\"print\"}),\":\"]}),`\n`,(0,d.jsx)(e.pre,{children:(0,d.jsx)(e.code,{className:\"language-css\",children:`@media print {\n body {\n color: black;\n }\n}\n`})})]})}function p(n={}){let{wrapper:e}=n.components||{};return e?(0,d.jsx)(e,{...n,children:(0,d.jsx)(s,{...n})}):s(n)}return b(M);})();\n;return Component;"
}
\ No newline at end of file
diff --git a/apps/web/src/__generated__/questions/quiz/can-you-give-an-example-of-an-media-property-other-than-screen/zh-CN.json b/apps/web/src/__generated__/questions/quiz/can-you-give-an-example-of-an-media-property-other-than-screen/zh-CN.json
index ea68a63ac..2e2a95004 100644
--- a/apps/web/src/__generated__/questions/quiz/can-you-give-an-example-of-an-media-property-other-than-screen/zh-CN.json
+++ b/apps/web/src/__generated__/questions/quiz/can-you-give-an-example-of-an-media-property-other-than-screen/zh-CN.json
@@ -27,5 +27,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/can-you-give-an-example-of-an-media-property-other-than-screen/zh-CN.mdx"
},
- "solution": "var Component=(()=>{var h=Object.create;var l=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var j=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),_=(n,e)=>{for(var r in e)l(n,r,{get:e[r],enumerable:!0})},t=(n,e,r,d)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let i of m(e))!x.call(n,i)&&i!==r&&l(n,i,{get:()=>e[i],enumerable:!(d=p(e,i))||d.enumerable});return n};var g=(n,e,r)=>(r=n!=null?h(u(n)):{},t(e||!n||!n.__esModule?l(r,\"default\",{value:n,enumerable:!0}):r,n)),f=n=>t(l({},\"__esModule\",{value:!0}),n);var s=j((F,o)=>{o.exports=_jsx_runtime});var C={};_(C,{default:()=>y,frontmatter:()=>b});var c=g(s()),b={title:\"\\u4F60\\u80FD\\u4E3E\\u4E00\\u4E2A\\u9664\\u4E86`screen`\\u4E4B\\u5916\\u7684`@media`\\u5C5E\\u6027\\u7684\\u4F8B\\u5B50\\u5417\\uFF1F\"};function a(n){let e=Object.assign({p:\"p\",code:\"code\",ul:\"ul\",li:\"li\",pre:\"pre\"},n.components);return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(e.p,{children:[\"\\u6709\\u56DB\\u79CD\\u7C7B\\u578B\\u7684\",(0,c.jsx)(e.code,{children:\"@media\"}),\"\\u5C5E\\u6027\\uFF08\\u5305\\u62EC\",(0,c.jsx)(e.code,{children:\"screen\"}),\"\\uFF09\\uFF1A\"]}),`\n`,(0,c.jsxs)(e.ul,{children:[`\n`,(0,c.jsxs)(e.li,{children:[(0,c.jsx)(e.code,{children:\"all\"}),\"\\uFF1A\\u9002\\u7528\\u4E8E\\u6240\\u6709\\u5A92\\u4F53\\u7C7B\\u578B\\u8BBE\\u5907\"]}),`\n`,(0,c.jsxs)(e.li,{children:[(0,c.jsx)(e.code,{children:\"print\"}),\"\\uFF1A\\u9002\\u7528\\u4E8E\\u6253\\u5370\\u673A\"]}),`\n`,(0,c.jsxs)(e.li,{children:[(0,c.jsx)(e.code,{children:\"speech\"}),\"\\uFF1A\\u9002\\u7528\\u4E8E\\u201C\\u6717\\u8BFB\\u201D\\u9875\\u9762\\u7684\\u5C4F\\u5E55\\u9605\\u8BFB\\u5668\"]}),`\n`,(0,c.jsxs)(e.li,{children:[(0,c.jsx)(e.code,{children:\"screen\"}),\"\\uFF1A\\u9002\\u7528\\u4E8E\\u7535\\u8111\\u5C4F\\u5E55\\u3001\\u5E73\\u677F\\u7535\\u8111\\u3001\\u667A\\u80FD\\u624B\\u673A\\u7B49\\u3002\"]}),`\n`]}),`\n`,(0,c.jsxs)(e.p,{children:[\"\\u4EE5\\u4E0B\\u662F\",(0,c.jsx)(e.code,{children:\"print\"}),\"\\u5A92\\u4F53\\u7C7B\\u578B\\u7528\\u6CD5\\u7684\\u793A\\u4F8B\\uFF1A\"]}),`\n`,(0,c.jsx)(e.pre,{children:(0,c.jsx)(e.code,{className:\"language-css\",children:`@media print {\n body {\n color: black;\n }\n}\n`})})]})}function M(n={}){let{wrapper:e}=n.components||{};return e?(0,c.jsx)(e,Object.assign({},n,{children:(0,c.jsx)(a,n)})):a(n)}var y=M;return f(C);})();\n;return Component;"
+ "solution": "var Component=(()=>{var p=Object.create;var l=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var f=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),j=(n,e)=>{for(var r in e)l(n,r,{get:e[r],enumerable:!0})},t=(n,e,r,d)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let i of u(e))!_.call(n,i)&&i!==r&&l(n,i,{get:()=>e[i],enumerable:!(d=m(e,i))||d.enumerable});return n};var g=(n,e,r)=>(r=n!=null?p(x(n)):{},t(e||!n||!n.__esModule?l(r,\"default\",{value:n,enumerable:!0}):r,n)),M=n=>t(l({},\"__esModule\",{value:!0}),n);var s=f((D,o)=>{o.exports=_jsx_runtime});var y={};j(y,{default:()=>h,frontmatter:()=>b});var c=g(s()),b={title:\"\\u4F60\\u80FD\\u4E3E\\u4E00\\u4E2A\\u9664\\u4E86`screen`\\u4E4B\\u5916\\u7684`@media`\\u5C5E\\u6027\\u7684\\u4F8B\\u5B50\\u5417\\uFF1F\"};function a(n){let e={code:\"code\",li:\"li\",p:\"p\",pre:\"pre\",ul:\"ul\",...n.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(e.p,{children:[\"\\u6709\\u56DB\\u79CD\\u7C7B\\u578B\\u7684\",(0,c.jsx)(e.code,{children:\"@media\"}),\"\\u5C5E\\u6027\\uFF08\\u5305\\u62EC\",(0,c.jsx)(e.code,{children:\"screen\"}),\"\\uFF09\\uFF1A\"]}),`\n`,(0,c.jsxs)(e.ul,{children:[`\n`,(0,c.jsxs)(e.li,{children:[(0,c.jsx)(e.code,{children:\"all\"}),\"\\uFF1A\\u9002\\u7528\\u4E8E\\u6240\\u6709\\u5A92\\u4F53\\u7C7B\\u578B\\u8BBE\\u5907\"]}),`\n`,(0,c.jsxs)(e.li,{children:[(0,c.jsx)(e.code,{children:\"print\"}),\"\\uFF1A\\u9002\\u7528\\u4E8E\\u6253\\u5370\\u673A\"]}),`\n`,(0,c.jsxs)(e.li,{children:[(0,c.jsx)(e.code,{children:\"speech\"}),\"\\uFF1A\\u9002\\u7528\\u4E8E\\u201C\\u6717\\u8BFB\\u201D\\u9875\\u9762\\u7684\\u5C4F\\u5E55\\u9605\\u8BFB\\u5668\"]}),`\n`,(0,c.jsxs)(e.li,{children:[(0,c.jsx)(e.code,{children:\"screen\"}),\"\\uFF1A\\u9002\\u7528\\u4E8E\\u7535\\u8111\\u5C4F\\u5E55\\u3001\\u5E73\\u677F\\u7535\\u8111\\u3001\\u667A\\u80FD\\u624B\\u673A\\u7B49\\u3002\"]}),`\n`]}),`\n`,(0,c.jsxs)(e.p,{children:[\"\\u4EE5\\u4E0B\\u662F\",(0,c.jsx)(e.code,{children:\"print\"}),\"\\u5A92\\u4F53\\u7C7B\\u578B\\u7528\\u6CD5\\u7684\\u793A\\u4F8B\\uFF1A\"]}),`\n`,(0,c.jsx)(e.pre,{children:(0,c.jsx)(e.code,{className:\"language-css\",children:`@media print {\n body {\n color: black;\n }\n}\n`})})]})}function h(n={}){let{wrapper:e}=n.components||{};return e?(0,c.jsx)(e,{...n,children:(0,c.jsx)(a,{...n})}):a(n)}return M(y);})();\n;return Component;"
}
\ No newline at end of file
diff --git a/apps/web/src/__generated__/questions/quiz/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/en-US.json b/apps/web/src/__generated__/questions/quiz/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/en-US.json
index 2ca43f606..5c6226e30 100644
--- a/apps/web/src/__generated__/questions/quiz/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/en-US.json
+++ b/apps/web/src/__generated__/questions/quiz/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/en-US.json
@@ -27,5 +27,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/en-US.mdx"
},
- "solution": "var Component=(()=>{var h=Object.create;var r=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var b=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports),g=(t,n)=>{for(var o in n)r(t,o,{get:n[o],enumerable:!0})},s=(t,n,o,c)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let i of f(n))!p.call(t,i)&&i!==o&&r(t,i,{get:()=>n[i],enumerable:!(c=u(n,i))||c.enumerable});return t};var w=(t,n,o)=>(o=t!=null?h(m(t)):{},s(n||!t||!t.__esModule?r(o,\"default\",{value:t,enumerable:!0}):o,t)),v=t=>s(r({},\"__esModule\",{value:!0}),t);var d=b((T,a)=>{a.exports=_jsx_runtime});var A={};g(A,{default:()=>j,frontmatter:()=>x});var e=w(d()),x={title:\"Can you offer a use case for the new arrow => function syntax?\",subtitle:\"How does this new syntax differ from other functions?\"};function l(t){let n=Object.assign({h2:\"h2\",p:\"p\",code:\"code\",pre:\"pre\",hr:\"hr\",h3:\"h3\",ul:\"ul\",li:\"li\",a:\"a\"},t.components);return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.h2,{children:\"TL;DR\"}),`\n`,(0,e.jsxs)(n.p,{children:[\"Arrow functions provide a concise syntax for writing functions in JavaScript. They are particularly useful for maintaining the \",(0,e.jsx)(n.code,{children:\"this\"}),\" context within methods and callbacks. For example, in an event handler or array method like \",(0,e.jsx)(n.code,{children:\"map\"}),\", arrow functions can simplify the code and avoid issues with \",(0,e.jsx)(n.code,{children:\"this\"}),\" binding.\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`const numbers = [1, 2, 3];\nconst doubled = numbers.map((n) => n * 2);\nconsole.log(doubled); // [2, 4, 6]\n`})}),`\n`,(0,e.jsx)(n.hr,{}),`\n`,(0,e.jsx)(n.h2,{children:\"Use case for the new arrow => function syntax\"}),`\n`,(0,e.jsx)(n.h3,{children:\"Simplifying syntax\"}),`\n`,(0,e.jsx)(n.p,{children:\"Arrow functions provide a more concise way to write functions. This is especially useful for short functions or callbacks.\"}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`// Traditional function\nconst add = function (a, b) {\n return a + b;\n};\n\n// Arrow function\nconst anotherAdd = (a, b) => a + b;\n\nconsole.log(add(2, 3)); // Output: 5\nconsole.log(anotherAdd(2, 3)); // Output: 5\n`})}),`\n`,(0,e.jsxs)(n.h3,{children:[\"Lexical \",(0,e.jsx)(n.code,{children:\"this\"}),\" binding\"]}),`\n`,(0,e.jsxs)(n.p,{children:[\"Arrow functions do not have their own \",(0,e.jsx)(n.code,{children:\"this\"}),\" context. Instead, they inherit \",(0,e.jsx)(n.code,{children:\"this\"}),\" from the surrounding scope. This is particularly useful in methods and callbacks where the \",(0,e.jsx)(n.code,{children:\"this\"}),\" context can be tricky.\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`function Timer() {\n this.seconds = 0;\n this.increment = () => {\n this.seconds++; // 'this.seconds' is inherited from the outer scope\n console.log(this.seconds);\n };\n}\n\nconst timer = new Timer();\ntimer.increment(); // 1\ntimer.increment(); // 2\n`})}),`\n`,(0,e.jsxs)(n.p,{children:[\"In the example above, using a traditional function inside \",(0,e.jsx)(n.code,{children:\"setInterval\"}),\" would require additional steps to maintain the correct \",(0,e.jsx)(n.code,{children:\"this\"}),\" context.\"]}),`\n`,(0,e.jsx)(n.h3,{children:\"Using arrow functions in array methods\"}),`\n`,(0,e.jsxs)(n.p,{children:[\"Arrow functions are often used in array methods like \",(0,e.jsx)(n.code,{children:\"map\"}),\", \",(0,e.jsx)(n.code,{children:\"filter\"}),\", and \",(0,e.jsx)(n.code,{children:\"reduce\"}),\" for cleaner and more readable code.\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`const numbers = [1, 2, 3, 4, 5];\n\n// Traditional function\nconst doubledTraditional = numbers.map(function (n) {\n return n * 2;\n});\n\n// Arrow function\nconst doubled = numbers.map((n) => n * 2);\n\nconsole.log(doubled); // [2, 4, 6, 8, 10]\n`})}),`\n`,(0,e.jsx)(n.h3,{children:\"Event handlers\"}),`\n`,(0,e.jsxs)(n.p,{children:[\"Arrow functions can be used in event handlers to maintain the \",(0,e.jsx)(n.code,{children:\"this\"}),\" context of the class or object.\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`class Button {\n constructor() {\n this.count = 0;\n this.button = document.createElement('button');\n this.button.innerText = 'Click me';\n this.button.addEventListener('click', () => {\n this.count++;\n console.log('count:', this.count);\n });\n document.body.appendChild(this.button);\n }\n}\n\nconst myButton = new Button();\nmyButton.button.click(); // count: 1\nmyButton.button.click(); // count: 2\n`})}),`\n`,(0,e.jsx)(n.h2,{children:\"Further reading\"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions\",children:\"MDN Web Docs: Arrow functions\"})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:\"https://javascript.info/arrow-functions\",children:\"JavaScript.info: Arrow functions revisited\"})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:\"https://eloquentjavascript.net/03_functions.html\",children:\"Eloquent JavaScript: Functions\"})}),`\n`]})]})}function y(t={}){let{wrapper:n}=t.components||{};return n?(0,e.jsx)(n,Object.assign({},t,{children:(0,e.jsx)(l,t)})):l(t)}var j=y;return v(A);})();\n;return Component;"
+ "solution": "var Component=(()=>{var u=Object.create;var r=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var w=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports),g=(t,n)=>{for(var o in n)r(t,o,{get:n[o],enumerable:!0})},s=(t,n,o,c)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let i of m(n))!b.call(t,i)&&i!==o&&r(t,i,{get:()=>n[i],enumerable:!(c=f(n,i))||c.enumerable});return t};var v=(t,n,o)=>(o=t!=null?u(p(t)):{},s(n||!t||!t.__esModule?r(o,\"default\",{value:t,enumerable:!0}):o,t)),x=t=>s(r({},\"__esModule\",{value:!0}),t);var d=w((k,a)=>{a.exports=_jsx_runtime});var j={};g(j,{default:()=>h,frontmatter:()=>y});var e=v(d()),y={title:\"Can you offer a use case for the new arrow => function syntax?\",subtitle:\"How does this new syntax differ from other functions?\"};function l(t){let n={a:\"a\",code:\"code\",h2:\"h2\",h3:\"h3\",hr:\"hr\",li:\"li\",p:\"p\",pre:\"pre\",ul:\"ul\",...t.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.h2,{children:\"TL;DR\"}),`\n`,(0,e.jsxs)(n.p,{children:[\"Arrow functions provide a concise syntax for writing functions in JavaScript. They are particularly useful for maintaining the \",(0,e.jsx)(n.code,{children:\"this\"}),\" context within methods and callbacks. For example, in an event handler or array method like \",(0,e.jsx)(n.code,{children:\"map\"}),\", arrow functions can simplify the code and avoid issues with \",(0,e.jsx)(n.code,{children:\"this\"}),\" binding.\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`const numbers = [1, 2, 3];\nconst doubled = numbers.map((n) => n * 2);\nconsole.log(doubled); // [2, 4, 6]\n`})}),`\n`,(0,e.jsx)(n.hr,{}),`\n`,(0,e.jsx)(n.h2,{children:\"Use case for the new arrow => function syntax\"}),`\n`,(0,e.jsx)(n.h3,{children:\"Simplifying syntax\"}),`\n`,(0,e.jsx)(n.p,{children:\"Arrow functions provide a more concise way to write functions. This is especially useful for short functions or callbacks.\"}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`// Traditional function\nconst add = function (a, b) {\n return a + b;\n};\n\n// Arrow function\nconst anotherAdd = (a, b) => a + b;\n\nconsole.log(add(2, 3)); // Output: 5\nconsole.log(anotherAdd(2, 3)); // Output: 5\n`})}),`\n`,(0,e.jsxs)(n.h3,{children:[\"Lexical \",(0,e.jsx)(n.code,{children:\"this\"}),\" binding\"]}),`\n`,(0,e.jsxs)(n.p,{children:[\"Arrow functions do not have their own \",(0,e.jsx)(n.code,{children:\"this\"}),\" context. Instead, they inherit \",(0,e.jsx)(n.code,{children:\"this\"}),\" from the surrounding scope. This is particularly useful in methods and callbacks where the \",(0,e.jsx)(n.code,{children:\"this\"}),\" context can be tricky.\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`function Timer() {\n this.seconds = 0;\n this.increment = () => {\n this.seconds++; // 'this.seconds' is inherited from the outer scope\n console.log(this.seconds);\n };\n}\n\nconst timer = new Timer();\ntimer.increment(); // 1\ntimer.increment(); // 2\n`})}),`\n`,(0,e.jsxs)(n.p,{children:[\"In the example above, using a traditional function inside \",(0,e.jsx)(n.code,{children:\"setInterval\"}),\" would require additional steps to maintain the correct \",(0,e.jsx)(n.code,{children:\"this\"}),\" context.\"]}),`\n`,(0,e.jsx)(n.h3,{children:\"Using arrow functions in array methods\"}),`\n`,(0,e.jsxs)(n.p,{children:[\"Arrow functions are often used in array methods like \",(0,e.jsx)(n.code,{children:\"map\"}),\", \",(0,e.jsx)(n.code,{children:\"filter\"}),\", and \",(0,e.jsx)(n.code,{children:\"reduce\"}),\" for cleaner and more readable code.\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`const numbers = [1, 2, 3, 4, 5];\n\n// Traditional function\nconst doubledTraditional = numbers.map(function (n) {\n return n * 2;\n});\n\n// Arrow function\nconst doubled = numbers.map((n) => n * 2);\n\nconsole.log(doubled); // [2, 4, 6, 8, 10]\n`})}),`\n`,(0,e.jsx)(n.h3,{children:\"Event handlers\"}),`\n`,(0,e.jsxs)(n.p,{children:[\"Arrow functions can be used in event handlers to maintain the \",(0,e.jsx)(n.code,{children:\"this\"}),\" context of the class or object.\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`class Button {\n constructor() {\n this.count = 0;\n this.button = document.createElement('button');\n this.button.innerText = 'Click me';\n this.button.addEventListener('click', () => {\n this.count++;\n console.log('count:', this.count);\n });\n document.body.appendChild(this.button);\n }\n}\n\nconst myButton = new Button();\nmyButton.button.click(); // count: 1\nmyButton.button.click(); // count: 2\n`})}),`\n`,(0,e.jsx)(n.h2,{children:\"Further reading\"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions\",children:\"MDN Web Docs: Arrow functions\"})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:\"https://javascript.info/arrow-functions\",children:\"JavaScript.info: Arrow functions revisited\"})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:\"https://eloquentjavascript.net/03_functions.html\",children:\"Eloquent JavaScript: Functions\"})}),`\n`]})]})}function h(t={}){let{wrapper:n}=t.components||{};return n?(0,e.jsx)(n,{...t,children:(0,e.jsx)(l,{...t})}):l(t)}return x(j);})();\n;return Component;"
}
\ No newline at end of file
diff --git a/apps/web/src/__generated__/questions/quiz/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/pt-BR.json b/apps/web/src/__generated__/questions/quiz/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/pt-BR.json
index 8af407f8e..055906a21 100644
--- a/apps/web/src/__generated__/questions/quiz/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/pt-BR.json
+++ b/apps/web/src/__generated__/questions/quiz/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/pt-BR.json
@@ -27,5 +27,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/pt-BR.mdx"
},
- "solution": "var Component=(()=>{var u=Object.create;var r=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var g=(o,e)=>()=>(e||o((e={exports:{}}).exports,e),e.exports),v=(o,e)=>{for(var s in e)r(o,s,{get:e[s],enumerable:!0})},i=(o,e,s,d)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of h(e))!f.call(o,a)&&a!==s&&r(o,a,{get:()=>e[a],enumerable:!(d=m(e,a))||d.enumerable});return o};var b=(o,e,s)=>(s=o!=null?u(p(o)):{},i(e||!o||!o.__esModule?r(s,\"default\",{value:o,enumerable:!0}):s,o)),x=o=>i(r({},\"__esModule\",{value:!0}),o);var t=g((_,c)=>{c.exports=_jsx_runtime});var C={};v(C,{default:()=>S,frontmatter:()=>j});var n=b(t()),j={title:\"Voc\\xEA pode oferecer um caso de uso para a nova sintaxe de arrow function =>?\",subtitle:\"Como essa nova sintaxe difere de outras fun\\xE7\\xF5es?\"};function l(o){let e=Object.assign({p:\"p\",code:\"code\",h2:\"h2\",h3:\"h3\",pre:\"pre\",ol:\"ol\",li:\"li\",strong:\"strong\",ul:\"ul\"},o.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(e.p,{children:[\"A sintaxe de fun\\xE7\\xE3o \",(0,n.jsx)(e.code,{children:\"=>\"}),', tamb\\xE9m conhecida como \"fun\\xE7\\xF5es de seta\", \\xE9 um recurso introduzido no ECMAScript 6 (ES6) para o JavaScript. Ela fornece uma maneira mais concisa de escrever fun\\xE7\\xF5es e tamb\\xE9m apresenta algumas diferen\\xE7as em rela\\xE7\\xE3o ao comportamento do ',(0,n.jsx)(e.code,{children:\"this\"}),\" em compara\\xE7\\xE3o com express\\xF5es de fun\\xE7\\xE3o tradicionais. Aqui est\\xE1 um caso de uso simples para ilustrar sua utilidade:\"]}),`\n`,(0,n.jsx)(e.h2,{children:\"Caso de Uso: filtrando um array\"}),`\n`,(0,n.jsx)(e.p,{children:\"Imagine que voc\\xEA tenha um array de n\\xFAmeros e queira filtrar todos os n\\xFAmeros menores que 10. Usando a sintaxe de fun\\xE7\\xE3o tradicional e a nova sintaxe de fun\\xE7\\xE3o de seta, voc\\xEA pode realizar isso das seguintes maneiras:\"}),`\n`,(0,n.jsx)(e.h3,{children:\"Sintaxe de fun\\xE7\\xE3o tradicional\"}),`\n`,(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:\"language-js\",children:`const numbers = [1, 5, 10, 15, 20];\nconst numbersFiltrados = numbers.filter(function (number) {\n return number >= 10;\n});\n\nconsole.log(numbersFiltrados); // Sa\\xEDda: [10, 15, 20]\n`})}),`\n`,(0,n.jsx)(e.h3,{children:\"Sintaxe de fun\\xE7\\xE3o de seta\"}),`\n`,(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:\"language-js\",children:`const numbers = [1, 5, 10, 15, 20];\nconst numbersFiltrados = numbers.filter((number) => number >= 10);\n\nconsole.log(numbersFiltrados); // Sa\\xEDda: [10, 15, 20]\n`})}),`\n`,(0,n.jsx)(e.h2,{children:\"Vantagens das fun\\xE7\\xF5es de seta\"}),`\n`,(0,n.jsxs)(e.ol,{children:[`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Concis\\xE3o\"}),\": As fun\\xE7\\xF5es de seta s\\xE3o mais concisas, tornando seu c\\xF3digo mais curto e mais f\\xE1cil de ler.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsxs)(e.strong,{children:[\"Comportamento do \",(0,n.jsx)(e.code,{children:\"this\"})]}),\": As fun\\xE7\\xF5es de seta n\\xE3o possuem seu pr\\xF3prio \",(0,n.jsx)(e.code,{children:\"this\"}),\". Em vez disso, elas herdam o \",(0,n.jsx)(e.code,{children:\"this\"}),\" do escopo pai no momento em que s\\xE3o definidas. Isso \\xE9 particularmente \\xFAtil em cen\\xE1rios em que voc\\xEA est\\xE1 lidando com callbacks e deseja manter o contexto do \",(0,n.jsx)(e.code,{children:\"this\"}),\".\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Retorno Impl\\xEDcito\"}),\": Se o corpo da fun\\xE7\\xE3o consistir em uma \\xFAnica express\\xE3o, as fun\\xE7\\xF5es de seta permitem omitir a palavra-chave \",(0,n.jsx)(e.code,{children:\"return\"}),\" e as chaves.\"]}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:\"Quando usar fun\\xE7\\xF5es de seta\"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:\"Quando voc\\xEA precisa de uma fun\\xE7\\xE3o r\\xE1pida de uma \\xFAnica linha.\"}),`\n`,(0,n.jsxs)(e.li,{children:[\"Em fun\\xE7\\xF5es de retorno de chamada (callbacks) onde voc\\xEA deseja preservar o escopo l\\xE9xico do \",(0,n.jsx)(e.code,{children:\"this\"}),\".\"]}),`\n`,(0,n.jsxs)(e.li,{children:[\"Ao trabalhar com fun\\xE7\\xF5es de ordem superior como \",(0,n.jsx)(e.code,{children:\"map\"}),\", \",(0,n.jsx)(e.code,{children:\"filter\"}),\", \",(0,n.jsx)(e.code,{children:\"reduce\"}),\", etc.\"]}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:\"Quando n\\xE3o usar fun\\xE7\\xF5es de seta\"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"M\\xE9todos em objetos\"}),\": As fun\\xE7\\xF5es de seta n\\xE3o t\\xEAm seu pr\\xF3prio contexto \",(0,n.jsx)(e.code,{children:\"this\"}),\", o que pode levar a comportamentos inesperados em m\\xE9todos de objetos.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Como construtores\"}),\": As fun\\xE7\\xF5es de seta n\\xE3o podem ser usadas como construtores e gerar\\xE3o um erro se usadas com a palavra-chave \",(0,n.jsx)(e.code,{children:\"new\"}),\".\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Quando voc\\xEA precisa de hoisting de fun\\xE7\\xE3o\"}),\": As fun\\xE7\\xF5es de seta n\\xE3o s\\xE3o i\\xE7adas (hoisted), ao contr\\xE1rio das declara\\xE7\\xF5es de fun\\xE7\\xE3o tradicionais.\"]}),`\n`]}),`\n`,(0,n.jsxs)(e.p,{children:[\"As fun\\xE7\\xF5es de seta s\\xE3o uma adi\\xE7\\xE3o poderosa ao JavaScript, simplificando a sintaxe das fun\\xE7\\xF5es e abordando algumas armadilhas comuns associadas \\xE0 palavra-chave \",(0,n.jsx)(e.code,{children:\"this\"}),\" em fun\\xE7\\xF5es tradicionais. Elas s\\xE3o especialmente \\xFAteis nos padr\\xF5es de desenvolvimento JavaScript modernos.\"]})]})}function A(o={}){let{wrapper:e}=o.components||{};return e?(0,n.jsx)(e,Object.assign({},o,{children:(0,n.jsx)(l,o)})):l(o)}var S=A;return x(C);})();\n;return Component;"
+ "solution": "var Component=(()=>{var m=Object.create;var r=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var g=(o,e)=>()=>(e||o((e={exports:{}}).exports,e),e.exports),x=(o,e)=>{for(var s in e)r(o,s,{get:e[s],enumerable:!0})},i=(o,e,s,d)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of p(e))!v.call(o,a)&&a!==s&&r(o,a,{get:()=>e[a],enumerable:!(d=h(e,a))||d.enumerable});return o};var b=(o,e,s)=>(s=o!=null?m(f(o)):{},i(e||!o||!o.__esModule?r(s,\"default\",{value:o,enumerable:!0}):s,o)),j=o=>i(r({},\"__esModule\",{value:!0}),o);var t=g((q,c)=>{c.exports=_jsx_runtime});var S={};x(S,{default:()=>u,frontmatter:()=>A});var n=b(t()),A={title:\"Voc\\xEA pode oferecer um caso de uso para a nova sintaxe de arrow function =>?\",subtitle:\"Como essa nova sintaxe difere de outras fun\\xE7\\xF5es?\"};function l(o){let e={code:\"code\",h2:\"h2\",h3:\"h3\",li:\"li\",ol:\"ol\",p:\"p\",pre:\"pre\",strong:\"strong\",ul:\"ul\",...o.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(e.p,{children:[\"A sintaxe de fun\\xE7\\xE3o \",(0,n.jsx)(e.code,{children:\"=>\"}),', tamb\\xE9m conhecida como \"fun\\xE7\\xF5es de seta\", \\xE9 um recurso introduzido no ECMAScript 6 (ES6) para o JavaScript. Ela fornece uma maneira mais concisa de escrever fun\\xE7\\xF5es e tamb\\xE9m apresenta algumas diferen\\xE7as em rela\\xE7\\xE3o ao comportamento do ',(0,n.jsx)(e.code,{children:\"this\"}),\" em compara\\xE7\\xE3o com express\\xF5es de fun\\xE7\\xE3o tradicionais. Aqui est\\xE1 um caso de uso simples para ilustrar sua utilidade:\"]}),`\n`,(0,n.jsx)(e.h2,{children:\"Caso de Uso: filtrando um array\"}),`\n`,(0,n.jsx)(e.p,{children:\"Imagine que voc\\xEA tenha um array de n\\xFAmeros e queira filtrar todos os n\\xFAmeros menores que 10. Usando a sintaxe de fun\\xE7\\xE3o tradicional e a nova sintaxe de fun\\xE7\\xE3o de seta, voc\\xEA pode realizar isso das seguintes maneiras:\"}),`\n`,(0,n.jsx)(e.h3,{children:\"Sintaxe de fun\\xE7\\xE3o tradicional\"}),`\n`,(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:\"language-js\",children:`const numbers = [1, 5, 10, 15, 20];\nconst numbersFiltrados = numbers.filter(function (number) {\n return number >= 10;\n});\n\nconsole.log(numbersFiltrados); // Sa\\xEDda: [10, 15, 20]\n`})}),`\n`,(0,n.jsx)(e.h3,{children:\"Sintaxe de fun\\xE7\\xE3o de seta\"}),`\n`,(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:\"language-js\",children:`const numbers = [1, 5, 10, 15, 20];\nconst numbersFiltrados = numbers.filter((number) => number >= 10);\n\nconsole.log(numbersFiltrados); // Sa\\xEDda: [10, 15, 20]\n`})}),`\n`,(0,n.jsx)(e.h2,{children:\"Vantagens das fun\\xE7\\xF5es de seta\"}),`\n`,(0,n.jsxs)(e.ol,{children:[`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Concis\\xE3o\"}),\": As fun\\xE7\\xF5es de seta s\\xE3o mais concisas, tornando seu c\\xF3digo mais curto e mais f\\xE1cil de ler.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsxs)(e.strong,{children:[\"Comportamento do \",(0,n.jsx)(e.code,{children:\"this\"})]}),\": As fun\\xE7\\xF5es de seta n\\xE3o possuem seu pr\\xF3prio \",(0,n.jsx)(e.code,{children:\"this\"}),\". Em vez disso, elas herdam o \",(0,n.jsx)(e.code,{children:\"this\"}),\" do escopo pai no momento em que s\\xE3o definidas. Isso \\xE9 particularmente \\xFAtil em cen\\xE1rios em que voc\\xEA est\\xE1 lidando com callbacks e deseja manter o contexto do \",(0,n.jsx)(e.code,{children:\"this\"}),\".\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Retorno Impl\\xEDcito\"}),\": Se o corpo da fun\\xE7\\xE3o consistir em uma \\xFAnica express\\xE3o, as fun\\xE7\\xF5es de seta permitem omitir a palavra-chave \",(0,n.jsx)(e.code,{children:\"return\"}),\" e as chaves.\"]}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:\"Quando usar fun\\xE7\\xF5es de seta\"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:\"Quando voc\\xEA precisa de uma fun\\xE7\\xE3o r\\xE1pida de uma \\xFAnica linha.\"}),`\n`,(0,n.jsxs)(e.li,{children:[\"Em fun\\xE7\\xF5es de retorno de chamada (callbacks) onde voc\\xEA deseja preservar o escopo l\\xE9xico do \",(0,n.jsx)(e.code,{children:\"this\"}),\".\"]}),`\n`,(0,n.jsxs)(e.li,{children:[\"Ao trabalhar com fun\\xE7\\xF5es de ordem superior como \",(0,n.jsx)(e.code,{children:\"map\"}),\", \",(0,n.jsx)(e.code,{children:\"filter\"}),\", \",(0,n.jsx)(e.code,{children:\"reduce\"}),\", etc.\"]}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:\"Quando n\\xE3o usar fun\\xE7\\xF5es de seta\"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"M\\xE9todos em objetos\"}),\": As fun\\xE7\\xF5es de seta n\\xE3o t\\xEAm seu pr\\xF3prio contexto \",(0,n.jsx)(e.code,{children:\"this\"}),\", o que pode levar a comportamentos inesperados em m\\xE9todos de objetos.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Como construtores\"}),\": As fun\\xE7\\xF5es de seta n\\xE3o podem ser usadas como construtores e gerar\\xE3o um erro se usadas com a palavra-chave \",(0,n.jsx)(e.code,{children:\"new\"}),\".\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Quando voc\\xEA precisa de hoisting de fun\\xE7\\xE3o\"}),\": As fun\\xE7\\xF5es de seta n\\xE3o s\\xE3o i\\xE7adas (hoisted), ao contr\\xE1rio das declara\\xE7\\xF5es de fun\\xE7\\xE3o tradicionais.\"]}),`\n`]}),`\n`,(0,n.jsxs)(e.p,{children:[\"As fun\\xE7\\xF5es de seta s\\xE3o uma adi\\xE7\\xE3o poderosa ao JavaScript, simplificando a sintaxe das fun\\xE7\\xF5es e abordando algumas armadilhas comuns associadas \\xE0 palavra-chave \",(0,n.jsx)(e.code,{children:\"this\"}),\" em fun\\xE7\\xF5es tradicionais. Elas s\\xE3o especialmente \\xFAteis nos padr\\xF5es de desenvolvimento JavaScript modernos.\"]})]})}function u(o={}){let{wrapper:e}=o.components||{};return e?(0,n.jsx)(e,{...o,children:(0,n.jsx)(l,{...o})}):l(o)}return j(S);})();\n;return Component;"
}
\ No newline at end of file
diff --git a/apps/web/src/__generated__/questions/quiz/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/zh-CN.json b/apps/web/src/__generated__/questions/quiz/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/zh-CN.json
index 75e3d3291..390609ed5 100644
--- a/apps/web/src/__generated__/questions/quiz/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/zh-CN.json
+++ b/apps/web/src/__generated__/questions/quiz/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/zh-CN.json
@@ -27,5 +27,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/top-javascript-interview-questions/blob/main/questions/can-you-offer-a-use-case-for-the-new-arrow-function-syntax-how-does-this-new-syntax-differ-from-other-functions/zh-CN.mdx"
},
- "solution": "var Component=(()=>{var u=Object.create;var o=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var f=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports),g=(t,n)=>{for(var c in n)o(t,c,{get:n[c],enumerable:!0})},l=(t,n,c,r)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let i of m(n))!b.call(t,i)&&i!==c&&o(t,i,{get:()=>n[i],enumerable:!(r=a(n,i))||r.enumerable});return t};var v=(t,n,c)=>(c=t!=null?u(p(t)):{},l(n||!t||!t.__esModule?o(c,\"default\",{value:t,enumerable:!0}):c,t)),j=t=>l(o({},\"__esModule\",{value:!0}),t);var s=f((N,d)=>{d.exports=_jsx_runtime});var A={};g(A,{default:()=>_,frontmatter:()=>x});var e=v(s()),x={title:\"\\u7BAD\\u5934 => \\u51FD\\u6570\\u8BED\\u6CD5\\u6709\\u4EC0\\u4E48\\u7528\\u4F8B\\uFF1F\",subtitle:\"\\u8FD9\\u79CD\\u65B0\\u8BED\\u6CD5\\u4E0E\\u5176\\u4ED6\\u51FD\\u6570\\u6709\\u4F55\\u4E0D\\u540C\\uFF1F\"};function h(t){let n=Object.assign({h2:\"h2\",p:\"p\",code:\"code\",pre:\"pre\",hr:\"hr\",h3:\"h3\",ul:\"ul\",li:\"li\",a:\"a\"},t.components);return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.h2,{children:\"TL;DR\"}),`\n`,(0,e.jsxs)(n.p,{children:[\"\\u7BAD\\u5934\\u51FD\\u6570\\u4E3A\\u7528 JavaScript \\u7F16\\u5199\\u51FD\\u6570\\u63D0\\u4F9B\\u4E86\\u4E00\\u79CD\\u7B80\\u6D01\\u7684\\u8BED\\u6CD5\\u3002\\u5B83\\u4EEC\\u5BF9\\u4E8E\\u5728\\u65B9\\u6CD5\\u548C\\u56DE\\u8C03\\u4E2D\\u7EF4\\u62A4 \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u4E0A\\u4E0B\\u6587\\u7279\\u522B\\u6709\\u7528\\u3002\\u4F8B\\u5982\\uFF0C\\u5728\\u4E8B\\u4EF6\\u5904\\u7406\\u7A0B\\u5E8F\\u6216\\u50CF \",(0,e.jsx)(n.code,{children:\"map\"}),\" \\u8FD9\\u6837\\u7684\\u6570\\u7EC4\\u65B9\\u6CD5\\u4E2D\\uFF0C\\u7BAD\\u5934\\u51FD\\u6570\\u53EF\\u4EE5\\u7B80\\u5316\\u4EE3\\u7801\\u5E76\\u907F\\u514D \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u7ED1\\u5B9A\\u95EE\\u9898\\u3002\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`const numbers = [1, 2, 3];\nconst doubled = numbers.map((n) => n * 2);\nconsole.log(doubled); // [2, 4, 6]\n`})}),`\n`,(0,e.jsx)(n.hr,{}),`\n`,(0,e.jsx)(n.h2,{children:\"\\u65B0\\u7BAD\\u5934 => \\u51FD\\u6570\\u8BED\\u6CD5\\u7684\\u7528\\u4F8B\"}),`\n`,(0,e.jsx)(n.h3,{children:\"\\u7B80\\u5316\\u8BED\\u6CD5\"}),`\n`,(0,e.jsx)(n.p,{children:\"\\u7BAD\\u5934\\u51FD\\u6570\\u63D0\\u4F9B\\u4E86\\u4E00\\u79CD\\u66F4\\u7B80\\u6D01\\u7684\\u7F16\\u5199\\u51FD\\u6570\\u7684\\u65B9\\u5F0F\\u3002\\u8FD9\\u5BF9\\u4E8E\\u77ED\\u51FD\\u6570\\u6216\\u56DE\\u8C03\\u7279\\u522B\\u6709\\u7528\\u3002\"}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`// Traditional function\nconst add = function (a, b) {\n return a + b;\n};\n\n// Arrow function\nconst anotherAdd = (a, b) => a + b;\n\nconsole.log(add(2, 3)); // Output: 5\nconsole.log(anotherAdd(2, 3)); // Output: 5\n`})}),`\n`,(0,e.jsxs)(n.h3,{children:[\"\\u8BCD\\u6CD5 \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u7ED1\\u5B9A\"]}),`\n`,(0,e.jsxs)(n.p,{children:[\"\\u7BAD\\u5934\\u51FD\\u6570\\u6CA1\\u6709\\u81EA\\u5DF1\\u7684 \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u4E0A\\u4E0B\\u6587\\u3002\\u76F8\\u53CD\\uFF0C\\u5B83\\u4EEC\\u4ECE\\u5468\\u56F4\\u7684\\u8303\\u56F4\\u7EE7\\u627F \",(0,e.jsx)(n.code,{children:\"this\"}),\"\\u3002\\u8FD9\\u5728 \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u4E0A\\u4E0B\\u6587\\u53EF\\u80FD\\u5F88\\u68D8\\u624B\\u7684\\u65B9\\u6CD5\\u548C\\u56DE\\u8C03\\u4E2D\\u7279\\u522B\\u6709\\u7528\\u3002\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`function Timer() {\n this.seconds = 0;\n this.increment = () => {\n this.seconds++; // 'this.seconds' is inherited from the outer scope\n console.log(this.seconds);\n };\n}\n\nconst timer = new Timer();\ntimer.increment(); // 1\ntimer.increment(); // 2\n`})}),`\n`,(0,e.jsxs)(n.p,{children:[\"\\u5728\\u4E0A\\u9762\\u7684\\u4F8B\\u5B50\\u4E2D\\uFF0C\\u5728 \",(0,e.jsx)(n.code,{children:\"setInterval\"}),\" \\u4E2D\\u4F7F\\u7528\\u4F20\\u7EDF\\u51FD\\u6570\\u9700\\u8981\\u989D\\u5916\\u7684\\u6B65\\u9AA4\\u6765\\u7EF4\\u62A4\\u6B63\\u786E\\u7684 \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u4E0A\\u4E0B\\u6587\\u3002\"]}),`\n`,(0,e.jsx)(n.h3,{children:\"\\u5728\\u6570\\u7EC4\\u65B9\\u6CD5\\u4E2D\\u4F7F\\u7528\\u7BAD\\u5934\\u51FD\\u6570\"}),`\n`,(0,e.jsxs)(n.p,{children:[\"\\u7BAD\\u5934\\u51FD\\u6570\\u901A\\u5E38\\u7528\\u4E8E \",(0,e.jsx)(n.code,{children:\"map\"}),\"\\u3001\",(0,e.jsx)(n.code,{children:\"filter\"}),\" \\u548C \",(0,e.jsx)(n.code,{children:\"reduce\"}),\" \\u7B49\\u6570\\u7EC4\\u65B9\\u6CD5\\u4E2D\\uFF0C\\u4EE5\\u83B7\\u5F97\\u66F4\\u7B80\\u6D01\\u3001\\u66F4\\u6613\\u8BFB\\u7684\\u4EE3\\u7801\\u3002\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`const numbers = [1, 2, 3, 4, 5];\n\n// Traditional function\nconst doubledTraditional = numbers.map(function (n) {\n return n * 2;\n});\n\n// Arrow function\nconst doubled = numbers.map((n) => n * 2);\n\nconsole.log(doubled); // [2, 4, 6, 8, 10]\n`})}),`\n`,(0,e.jsx)(n.h3,{children:\"\\u4E8B\\u4EF6\\u5904\\u7406\\u7A0B\\u5E8F\"}),`\n`,(0,e.jsxs)(n.p,{children:[\"\\u7BAD\\u5934\\u51FD\\u6570\\u53EF\\u7528\\u4E8E\\u4E8B\\u4EF6\\u5904\\u7406\\u7A0B\\u5E8F\\uFF0C\\u4EE5\\u7EF4\\u62A4\\u7C7B\\u6216\\u5BF9\\u8C61\\u7684 \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u4E0A\\u4E0B\\u6587\\u3002\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`class Button {\n constructor() {\n this.count = 0;\n this.button = document.createElement('button');\n this.button.innerText = 'Click me';\n this.button.addEventListener('click', () => {\n this.count++;\n console.log('count:', this.count);\n });\n document.body.appendChild(this.button);\n }\n}\n\nconst myButton = new Button();\nmyButton.button.click(); // count: 1\nmyButton.button.click(); // count: 2\n`})}),`\n`,(0,e.jsx)(n.h2,{children:\"\\u5EF6\\u4F38\\u9605\\u8BFB\"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions\",children:\"MDN Web Docs: Arrow functions\"})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:\"https://javascript.info/arrow-functions\",children:\"JavaScript.info: Arrow functions revisited\"})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:\"https://eloquentjavascript.net/03_functions.html\",children:\"Eloquent JavaScript: Functions\"})}),`\n`]})]})}function w(t={}){let{wrapper:n}=t.components||{};return n?(0,e.jsx)(n,Object.assign({},t,{children:(0,e.jsx)(h,t)})):h(t)}var _=w;return j(A);})();\n;return Component;"
+ "solution": "var Component=(()=>{var a=Object.create;var r=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var g=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports),v=(t,n)=>{for(var c in n)r(t,c,{get:n[c],enumerable:!0})},l=(t,n,c,i)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let o of p(n))!f.call(t,o)&&o!==c&&r(t,o,{get:()=>n[o],enumerable:!(i=m(n,o))||i.enumerable});return t};var j=(t,n,c)=>(c=t!=null?a(b(t)):{},l(n||!t||!t.__esModule?r(c,\"default\",{value:t,enumerable:!0}):c,t)),x=t=>l(r({},\"__esModule\",{value:!0}),t);var s=g((T,d)=>{d.exports=_jsx_runtime});var _={};v(_,{default:()=>u,frontmatter:()=>w});var e=j(s()),w={title:\"\\u7BAD\\u5934 => \\u51FD\\u6570\\u8BED\\u6CD5\\u6709\\u4EC0\\u4E48\\u7528\\u4F8B\\uFF1F\",subtitle:\"\\u8FD9\\u79CD\\u65B0\\u8BED\\u6CD5\\u4E0E\\u5176\\u4ED6\\u51FD\\u6570\\u6709\\u4F55\\u4E0D\\u540C\\uFF1F\"};function h(t){let n={a:\"a\",code:\"code\",h2:\"h2\",h3:\"h3\",hr:\"hr\",li:\"li\",p:\"p\",pre:\"pre\",ul:\"ul\",...t.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.h2,{children:\"TL;DR\"}),`\n`,(0,e.jsxs)(n.p,{children:[\"\\u7BAD\\u5934\\u51FD\\u6570\\u4E3A\\u7528 JavaScript \\u7F16\\u5199\\u51FD\\u6570\\u63D0\\u4F9B\\u4E86\\u4E00\\u79CD\\u7B80\\u6D01\\u7684\\u8BED\\u6CD5\\u3002\\u5B83\\u4EEC\\u5BF9\\u4E8E\\u5728\\u65B9\\u6CD5\\u548C\\u56DE\\u8C03\\u4E2D\\u7EF4\\u62A4 \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u4E0A\\u4E0B\\u6587\\u7279\\u522B\\u6709\\u7528\\u3002\\u4F8B\\u5982\\uFF0C\\u5728\\u4E8B\\u4EF6\\u5904\\u7406\\u7A0B\\u5E8F\\u6216\\u50CF \",(0,e.jsx)(n.code,{children:\"map\"}),\" \\u8FD9\\u6837\\u7684\\u6570\\u7EC4\\u65B9\\u6CD5\\u4E2D\\uFF0C\\u7BAD\\u5934\\u51FD\\u6570\\u53EF\\u4EE5\\u7B80\\u5316\\u4EE3\\u7801\\u5E76\\u907F\\u514D \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u7ED1\\u5B9A\\u95EE\\u9898\\u3002\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`const numbers = [1, 2, 3];\nconst doubled = numbers.map((n) => n * 2);\nconsole.log(doubled); // [2, 4, 6]\n`})}),`\n`,(0,e.jsx)(n.hr,{}),`\n`,(0,e.jsx)(n.h2,{children:\"\\u65B0\\u7BAD\\u5934 => \\u51FD\\u6570\\u8BED\\u6CD5\\u7684\\u7528\\u4F8B\"}),`\n`,(0,e.jsx)(n.h3,{children:\"\\u7B80\\u5316\\u8BED\\u6CD5\"}),`\n`,(0,e.jsx)(n.p,{children:\"\\u7BAD\\u5934\\u51FD\\u6570\\u63D0\\u4F9B\\u4E86\\u4E00\\u79CD\\u66F4\\u7B80\\u6D01\\u7684\\u7F16\\u5199\\u51FD\\u6570\\u7684\\u65B9\\u5F0F\\u3002\\u8FD9\\u5BF9\\u4E8E\\u77ED\\u51FD\\u6570\\u6216\\u56DE\\u8C03\\u7279\\u522B\\u6709\\u7528\\u3002\"}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`// Traditional function\nconst add = function (a, b) {\n return a + b;\n};\n\n// Arrow function\nconst anotherAdd = (a, b) => a + b;\n\nconsole.log(add(2, 3)); // Output: 5\nconsole.log(anotherAdd(2, 3)); // Output: 5\n`})}),`\n`,(0,e.jsxs)(n.h3,{children:[\"\\u8BCD\\u6CD5 \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u7ED1\\u5B9A\"]}),`\n`,(0,e.jsxs)(n.p,{children:[\"\\u7BAD\\u5934\\u51FD\\u6570\\u6CA1\\u6709\\u81EA\\u5DF1\\u7684 \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u4E0A\\u4E0B\\u6587\\u3002\\u76F8\\u53CD\\uFF0C\\u5B83\\u4EEC\\u4ECE\\u5468\\u56F4\\u7684\\u8303\\u56F4\\u7EE7\\u627F \",(0,e.jsx)(n.code,{children:\"this\"}),\"\\u3002\\u8FD9\\u5728 \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u4E0A\\u4E0B\\u6587\\u53EF\\u80FD\\u5F88\\u68D8\\u624B\\u7684\\u65B9\\u6CD5\\u548C\\u56DE\\u8C03\\u4E2D\\u7279\\u522B\\u6709\\u7528\\u3002\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`function Timer() {\n this.seconds = 0;\n this.increment = () => {\n this.seconds++; // 'this.seconds' is inherited from the outer scope\n console.log(this.seconds);\n };\n}\n\nconst timer = new Timer();\ntimer.increment(); // 1\ntimer.increment(); // 2\n`})}),`\n`,(0,e.jsxs)(n.p,{children:[\"\\u5728\\u4E0A\\u9762\\u7684\\u4F8B\\u5B50\\u4E2D\\uFF0C\\u5728 \",(0,e.jsx)(n.code,{children:\"setInterval\"}),\" \\u4E2D\\u4F7F\\u7528\\u4F20\\u7EDF\\u51FD\\u6570\\u9700\\u8981\\u989D\\u5916\\u7684\\u6B65\\u9AA4\\u6765\\u7EF4\\u62A4\\u6B63\\u786E\\u7684 \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u4E0A\\u4E0B\\u6587\\u3002\"]}),`\n`,(0,e.jsx)(n.h3,{children:\"\\u5728\\u6570\\u7EC4\\u65B9\\u6CD5\\u4E2D\\u4F7F\\u7528\\u7BAD\\u5934\\u51FD\\u6570\"}),`\n`,(0,e.jsxs)(n.p,{children:[\"\\u7BAD\\u5934\\u51FD\\u6570\\u901A\\u5E38\\u7528\\u4E8E \",(0,e.jsx)(n.code,{children:\"map\"}),\"\\u3001\",(0,e.jsx)(n.code,{children:\"filter\"}),\" \\u548C \",(0,e.jsx)(n.code,{children:\"reduce\"}),\" \\u7B49\\u6570\\u7EC4\\u65B9\\u6CD5\\u4E2D\\uFF0C\\u4EE5\\u83B7\\u5F97\\u66F4\\u7B80\\u6D01\\u3001\\u66F4\\u6613\\u8BFB\\u7684\\u4EE3\\u7801\\u3002\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`const numbers = [1, 2, 3, 4, 5];\n\n// Traditional function\nconst doubledTraditional = numbers.map(function (n) {\n return n * 2;\n});\n\n// Arrow function\nconst doubled = numbers.map((n) => n * 2);\n\nconsole.log(doubled); // [2, 4, 6, 8, 10]\n`})}),`\n`,(0,e.jsx)(n.h3,{children:\"\\u4E8B\\u4EF6\\u5904\\u7406\\u7A0B\\u5E8F\"}),`\n`,(0,e.jsxs)(n.p,{children:[\"\\u7BAD\\u5934\\u51FD\\u6570\\u53EF\\u7528\\u4E8E\\u4E8B\\u4EF6\\u5904\\u7406\\u7A0B\\u5E8F\\uFF0C\\u4EE5\\u7EF4\\u62A4\\u7C7B\\u6216\\u5BF9\\u8C61\\u7684 \",(0,e.jsx)(n.code,{children:\"this\"}),\" \\u4E0A\\u4E0B\\u6587\\u3002\"]}),`\n`,(0,e.jsx)(n.pre,{live:!0,children:(0,e.jsx)(n.code,{className:\"language-js\",children:`class Button {\n constructor() {\n this.count = 0;\n this.button = document.createElement('button');\n this.button.innerText = 'Click me';\n this.button.addEventListener('click', () => {\n this.count++;\n console.log('count:', this.count);\n });\n document.body.appendChild(this.button);\n }\n}\n\nconst myButton = new Button();\nmyButton.button.click(); // count: 1\nmyButton.button.click(); // count: 2\n`})}),`\n`,(0,e.jsx)(n.h2,{children:\"\\u5EF6\\u4F38\\u9605\\u8BFB\"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions\",children:\"MDN Web Docs: Arrow functions\"})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:\"https://javascript.info/arrow-functions\",children:\"JavaScript.info: Arrow functions revisited\"})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:\"https://eloquentjavascript.net/03_functions.html\",children:\"Eloquent JavaScript: Functions\"})}),`\n`]})]})}function u(t={}){let{wrapper:n}=t.components||{};return n?(0,e.jsx)(n,{...t,children:(0,e.jsx)(h,{...t})}):h(t)}return x(_);})();\n;return Component;"
}
\ No newline at end of file
diff --git a/apps/web/src/__generated__/questions/quiz/css-link-between-head-and-js-script-just-before-body/en-US.json b/apps/web/src/__generated__/questions/quiz/css-link-between-head-and-js-script-just-before-body/en-US.json
index bfd361fb4..ae13a9e87 100644
--- a/apps/web/src/__generated__/questions/quiz/css-link-between-head-and-js-script-just-before-body/en-US.json
+++ b/apps/web/src/__generated__/questions/quiz/css-link-between-head-and-js-script-just-before-body/en-US.json
@@ -28,5 +28,5 @@
],
"gitHubEditUrl": "https://github.com/yangshun/front-end-interview-handbook/blob/main/packages/quiz/questions/css-link-between-head-and-js-script-just-before-body/en-US.mdx"
},
- "solution": "var Component=(()=>{var l=Object.create;var r=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var f=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),w=(n,e)=>{for(var i in e)r(n,i,{get:e[i],enumerable:!0})},s=(n,e,i,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of u(e))!m.call(n,o)&&o!==i&&r(n,o,{get:()=>e[o],enumerable:!(a=p(e,o))||a.enumerable});return n};var b=(n,e,i)=>(i=n!=null?l(g(n)):{},s(e||!n||!n.__esModule?r(i,\"default\",{value:n,enumerable:!0}):i,n)),y=n=>s(r({},\"__esModule\",{value:!0}),n);var c=f((j,d)=>{d.exports=_jsx_runtime});var M={};w(M,{default:()=>v,frontmatter:()=>k});var t=b(c()),k={title:\"Why is it generally a good idea to position CSS ``s between `