Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ã¯ããã« ããã³ãã¨ã³ããå¦ã¹ãææãã¾ã¨ãã¾ããã ä»åç´¹ä»ããããã³ãã¨ã³ãæè¡ã¯ä¸è¨ã«ãªãã¾ãã ãã¼ãããã (å ¨ä½å) JavaScript TypeScript React Next.js 対象è ããããããã³ãã¨ã³ããå¦ã³ãã人 ã¢ãã³ããã³ãæè¡ã«ææ¦ããã人 ãã¼ãããã (å ¨ä½å) ã¨ã³ã¸ãã¢åãã®å¦ç¿ãã¼ãããããã¾ã¨ãããã¦ããã ç¾å¨ã®èªåã®ç«ã¡ä½ç½®ãææ¡ãã次ã«ããã¹ããã¨ã®æ¹åæ§ãç¥ããã ã¨ã³ã¸ãã¢ã使ãã§ããããã»ã¼å ¨æè¡ãç¶²ç¾ çã«ã¾ã¨ãããã¦ããã®ã§ãå ¨ä½åãæ´ãä¸ã§ã¯ä¸åº¦ç®ãéã価å¤ã¯ããè³æã«ãª
HTML ã ã㧠Shadow DOM ãæ§ç¯ããããã®å®£è¨å Shadow DOM 2024.10.19 宣è¨å Shadow DOM 㯠`<template>` è¦ç´ ã使ç¨ã㦠Shadow DOM ãæ§ç¯ããæ¹æ³ã§ãã宣è¨å Shadow DOM ã使ç¨ãããã¨ã§ãå¾æ¥ã® JavaScript ã使ç¨ãã Shadow DOM ã®æ§ç¯æ¹æ³ã¨æ¯è¼ãã¦ããµã¼ãã¼ãµã¤ãã¬ã³ããªã³ã°ï¼SSRï¼ã«å¯¾å¿ãã¦ãããããããã©ã¼ãã³ã¹ã®åä¸ã SEO 対çã«æå¾ ããã¾ãã Shadow DOM 㯠Web Components ãæ§æãã 3 ã¤ã®æè¡ã® 1 ã¤ã§ããShadow DOM ã¯ã³ã³ãã¼ãã³ãã®ã«ãã»ã«åãå®ç¾ãã¾ããShadow DOM ã§å®ç¾©ãããã¹ã¿ã¤ã«ã¯ Shadow DOM ã®å¤é¨ã«å½±é¿ãä¸ãããã¾ãå¤é¨ã®ã¹ã¿ã¤ã«ã®å½±é¿ãåãã¾ããã Shadow DOM ã¯åå©ç¨å¯è½ãªã³ã³
ã¯ããã« ããã°ãã¯ï¼ çããã¯ä»¥ä¸ã®ãããªããæ¶ãã¦ãã¾ãè¦ç´ ãDevToolsã§ç¢ºèªãããã¨ãã¯ã©ããã¾ããï¼ å¸¸ã«è¡¨ç¤ºãããããã«ããããã³ã¼ããä¿®æ£ãã¦ãããDevToolsã§è¦ç´ ã確èªããããã¦ãã¾ãããï¼DevToolsããã¾ã使ããã¨ã§ãããããã³ã¼ãã®ä¿®æ£ãããã¨ãç°¡åã«è¦ç´ ã®ç¢ºèªãã§ããã®ã§ãã®ã¡ãã£ã¨ããTipsã®ãç´¹ä»ã§ãï¼ â CSSã¤ãã³ãã§ã®ç¢ºèªæ¹æ³ ã¾ãã¯CSSã¤ãã³ãã§è¦ç´ ã®è¡¨ç¤ºå¶å¾¡ãè¡ã£ã¦ãããã¿ã¼ã³ã§ã®ç¢ºèªæ¹æ³ã§ãã以ä¸ã®ããã«CSSã¤ãã³ãã®hoverã§è¡¨ç¤ºå¶å¾¡ããã¦ããè¦ç´ ãä¾ã«DevToolsã§ç¢ºèªããæ¹æ³ãè¦ã¦ããã¾ãããï¼ import "./style.css"; export const Index = () => { return ( <div> <button className="myButton">Button</button> <
ã¢ãã¡ã¼ã·ã§ã³å®è£ ã®ãã¯ããã¯ã®ã²ã¨ã¤ã«FLIPã¨å¼ã°ãããã®ãããã¾ããFLIPã¢ãã¡ã¼ã·ã§ã³ã¯2ã¤ã®ç¶æ ããªãããã«ã¤ãªãããã¯ããã¯ã§ãã¨ãã«ç§»åãæ¡å¤§ã¨ãã£ãåãã«æå¹ã§ããFLIPã¢ãã¡ã¼ã·ã§ã³ãç¨ããã¨ã次ã®ãããªã¢ãã¡ã¼ã·ã§ã³ãå®è£ ã§ãã¾ãã æ¬è¨äºã§ã¯ãã©ã¤ãã©ãªã«ä¾åããªãFLIPã¢ãã¡ã¼ã·ã§ã³ã®åçãç解ããå®è£ ããæ¹æ³ãç´¹ä»ãã¾ãã FLIPã¢ãã¡ã¼ã·ã§ã³ã¨ã¯ FLIPã¨ã¯ãFirst, Last, Invert, Playãã¾ã¨ããé èªã§ãããããã¯FLIPã¢ãã¡ã¼ã·ã§ã³ã®æé ã説æãããã®ã«ãªãã¾ãã Firstï¼ã¢ãã¡ã¼ã·ã§ã³ãéå§ããã¨ãã®ç¶æ Lastï¼ã¢ãã¡ã¼ã·ã§ã³çµäºæã®ç¶æ Invertï¼å¤åéãè¨ç®ããLastã®ç¶æ ã«é©ç¨ãã¦Firstã®ç¶æ ã復å ãã¾ã Playï¼Invertéãå¾ã ã«æ¸ããã¦Lastã®ç¶æ ã«è¿ã¥ãã¦ããã¾ã FLIPã®ãããããç¹
ãã¶ã¤ãã¼ã«ããå§ãï¼ CSSãThree.jsãã¿ã¤ã ã©ã¤ã³ç·¨éãå¯è½ã«ããTheatre.jsãåã ã¦ã§ããµã¤ãã®æ¼åºãä½ãä¸ã§ã¢ãã¡ã¼ã·ã§ã³ã®å®è£ ã¯æ¬ ããã¾ãããä¸è¬çã«ã¯ãCSSã¢ãã¡ã¼ã·ã§ã³ãJavaScriptã®ã©ã¤ãã©ãªï¼GSAPã¸ã¼ãµãããªã©ï¼ãç¨ãã¦ã³ã¼ããã¼ã¹ã§åããã¤ãããã¨ãå¤ãã¨æãã¾ããã§ãããå®å ¨ã«ã³ã¼ãã ãã§ã¢ãã¡ã¼ã·ã§ã³ã調æ´ããã®ã¯å¤§å¤ã ã¨æã£ããã¨ã¯ãªãã§ããããï¼ ä¸åº¦å®è£ ãããã¨ãããæ¹ã¯å ±æããã ããããããã¾ããããå°ãç´ããã«ãã³ã¼ãã«æ»ã£ã¦èª¿æ´ããåæ ããããã©ã¦ã¶ç»é¢ã確èªãã¦ãããä¸åº¦ã³ã¼ããç´ãã¦â¦ã¨å¾å¾©ãã¦ããã¨çµæ§å¤§å¤ã§ããã¾ããã¢ãã¡ã¼ã·ã§ã³ãããããããã£ãè¦ç´ ãè¤æ°ããå ´åã«ã¯ãã³ã¼ãã解èªããé£æ度ãä¸ããã¾ãã æ¬è¨äºã§ã¯ãããªæ©ã¿ã解決ã§ãããGUIããã¢ãã¡ã¼ã·ã§ã³ã調æ´ã§ããã©ã¤ãã©ãªãTheatre.jsã·ã¢ã¿
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Kyã¨ã¯ Kyã¯ãSindre SorhusãéçºããJavaScriptåãã®è»½éãã¤å¤æ©è½ãªHTTPã¯ã©ã¤ã¢ã³ãã§ãããã¼ãã³ã°ã®æå³ã¯ãããããã¾ããããAxiosããã¤ãã£ãã®Fetch APIã«ä»£ãããããå¹ççã§ä½¿ããããé¸æè¢ã¨ãã¦è¨è¨ããã¦ãã¾ãã Kyã®å©ç¹ 軽éã§å¹çç: Kyã®ã³ã¢ã¯é常ã«å°ããï¼ç´2 KBï¼ãããã©ã¼ãã³ã¹ãéè¦ãªã¢ããªã±ã¼ã·ã§ã³ã«ã¨ã£ã¦ã¯ç¹ã«å¤§ããªã¡ãªããã¨ãªãã¾ãã Promiseãã¼ã¹: Fetch APIã¨åæ§ã«ãKyã¯Promiseãåºç¤ã¨ãã¦ãããasync/awaitæ§æã¨ã®çµã¿åã
ð· What's Poku?A cross-platform test runner that brings the JavaScript essence back to testing. â¡ï¸ Quick Tutorials
ã¯ããã« ãã®è¨äºã®å 容ã¯ã以ä¸ã®åç»ã§ã解説ãã¦ãã¾ããã¢ãã¡ã¼ã·ã§ã³ã§ãããããããªã£ã¦ããã®ã§ããã²è¦ã¦ã¿ã¦ãã ãããä»ã«ãWebã«é¢ãã解説åç»ãæ稿ãã¦ããã®ã§ãæ°ã«ãªã人ã¯ãã£ã³ãã«ç»é²ãããããé¡ããã¾ãï¼ HTMXã¨ã¯ï¼ HTMX ã¨ã¯ãä¸è¨ã§è¨ãã¨ãJavaScriptãæ¸ããã«åçãªãã¼ã¸ãç°¡åã«ä½æã§ããã©ã¤ãã©ãªã®ãã¨ã§ãã htmx is a library that allows you to access modern browser features directly from HTML, rather than using javascript. ï¼è¨³ï¼htmx ã¯ãJavaScript ã使ç¨ããã®ã§ã¯ãªããHTML ããææ°ã®ãã©ã¦ã¶ã¼æ©è½ã«ç´æ¥ã¢ã¯ã»ã¹ã§ããããã«ããã©ã¤ãã©ãªã§ãã </> htmx ~ Documentation ...ã¨è¨ã£ã¦ã
æ°å¤ãæ¥ä»ããã¾ãã¾ãªå½¢å¼ã®æååã«ï¼ toLocaleString()ã使ã£ã¦ã¹ãã¼ãã«å¤æããã ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãªã©ã§ã¯å¤é¨ã®APIãããã¼ã¿ãåå¾ãã¦è¡¨ç¤ºãããã¨ãããã§ããããããããªãããAPIã®å¤ãå¿ ããããã®ã¾ã¾è¡¨ç¤ºãããã¦ã¼ã¶ã¼ã«ã¨ã£ã¦åãããããæååã«å å·¥ãããã¨ãããã¾ãããã¨ãã°ãæ°å¤ãã«ã³ãåºåãã«ããããæ¥ä»ãã¼ã¿ãç¹å®ã®ãã©ã¼ãããã«å¤æãããã¨ãã£ããã¨ã¯ã¿ãªãããçµé¨ãããã®ã§ã¯ãªãã§ããããï¼ ãã®ãããªæ°åãæ¥ä»ãå¤æããã®ã«ä¾¿å©ãªã®ããJavaScriptã®toLocaleString()ã¡ã½ããã§ãããã®ã¡ã½ããã使ããã¨ã§ãæ°å¤ãæ¥ä»ããã¾ãã¾ãªå½¢å¼ã«å¤æã§ãã¾ãããã®è¨äºã§ã¯ãtoLocaleString()ã¡ã½ããã®ä½¿ãæ¹ã¨ããã®å¿ç¨ä¾ãç´¹ä»ãã¾ãã ãµã³ãã«ãå¥ã¦ã¤ã³ãã¦ã§éã ã³ã¼ãã確èªãã toLocaleString()ã¡ã½
Webå¶ä½ã®æè¡ã¯æ¥ã é²åãã¦ãããä¼ç¤¾ãããã¸ã§ã¯ãã«ãã£ã¦ã¯æ¨ä»ã®ç°å¢ã«é©ããªãæ¸ãæ¹ããã¦ããã±ã¼ã¹ãææè¦åãããã¾ãã ããã§ä»åã¯ã2024å¹´ã®Webå¶ä½ã§ã¯ãã®ããã«ã³ã¼ããæ¸ãã¦ã»ããï¼ãã¨ããå 容ãã¾ã¨ãã¾ããã 質ããéã§ãã¾ãã¯ããããªæ¸ãæ¹ããããã ãããã®è¨äºã§ä¼ãããã£ãã®ã§ãã³ã¼ãã®è©³ç´°ã¯ãã¾ã解説ãã¦ãã¾ããããªã®ã§ãå ·ä½çãªä»æ§ãªã©ã確èªãããæ¹ã¯åèè¨äºãèªãã ããèªèº«ã§èª¿ã¹ã¦ããã ããã¨å¹¸ãã§ãã 1. HTML ç»åå¨ãã¯ãµã¤ãããã©ã¼ãã³ã¹ã«ç´çµããã®ã§ãã¾ãã¯ããã ãã§ãåãå ¥ãã¦ããã ãããã§ããã¾ããã³ã¢ã¦ã§ããã¤ã¿ã«ãã¢ã¯ã»ã·ããªãã£ãä½µãã¦ç解ãã¦ããããå 容ã§ãã Lazy loading <img>ã«loading="lazy"å±æ§ãä»ããã¨ç»åãé 延èªã¿è¾¼ã¿ã«ãªãããµã¤ãã®èªã¿è¾¼ã¿æéãæ©ããªãã¾ãã
ãã¹ã¦ã®ãã©ã¼ã ãè¦ä»¶ãæºããã¦ããå ´åã®ã¿ãéä¿¡ã§ãã¾ãã ãã©ã¼ã ããªãã¼ã·ã§ã³ã®ãã¶ã¤ã³ ä¸è¨ã®ä¾ã§ã¯æä½éã®HTMLã®ã¿å®è£ ããã¦ãã¾ããããããå®éã®ãµã¤ãã§ã¯ããªãã¼ã·ã§ã³ã¨ã©ã¼ãã¦ã¼ã¶ã¼ã«ãã£ã¼ãããã¯ããå¿ è¦ãããã¾ããããã¦ã¼ã¶ããªãã£ã®é«ããã©ã¼ã ã§ã¯ã以ä¸ã®ç¹ãæ¤è¨ããå¿ è¦ãããã¾ãã ã¨ã©ã¼æã®ã¹ã¿ã¤ã« ã¨ã©ã¼ã¡ãã»ã¼ã¸ã®åºãæ¹ ããªãã¼ã·ã§ã³ã¨ã©ã¼ã®è¡¨ç¤ºã¿ã¤ãã³ã° 以ä¸ã§ã¯ãããããã«ã¤ãã¦æ·±å ããã¾ãã ã¨ã©ã¼æã®ã¹ã¿ã¤ã« ã¨ã©ã¼ãæ¤ç¥ããæ¹æ³ã¨ãã¦ãCSSã«ã¯:validçä¼¼ã¯ã©ã¹ã¨:invalidçä¼¼ã¯ã©ã¹ãããã¾ãããããã®çä¼¼ã¯ã©ã¹ã¯ãCSSçä¼¼ã¯ã©ã¹ãæ´»ç¨ãããã¢ãã³ã§ã¤ã³ã¿ã©ã¯ãã£ããªãã©ã¼ã ã®ä½ãæ¹ãã§ãç´¹ä»ããã¦ãããããªãã¼ã·ã§ã³ã¨ã©ã¼ãèµ·ãã¦ããè¦ç´ ã«ã®ã¿é©ç¨ãããã¯ã©ã¹ã§ãã ãããããã®çä¼¼ã¯ã©ã¹ã«ã¯æ¬ ç¹ãããã¾ããrequiredå±æ§ã
å æ¥ãªãªã¼ã¹ãããã[Tempo](https://tempo.formkit.com/)ãããå ¨ãæ°ããJavaScriptã®æ¥ä»ï¼æå»ã©ã¤ãã©ãªã¨ãã¦é常ã«æ³¨ç®ãéãã¦ããã å æ¥ãªãªã¼ã¹ããããTempoãããå ¨ãæ°ããJavaScriptã®æ¥ä»ï¼æå»ã©ã¤ãã©ãªã¨ãã¦é常ã«æ³¨ç®ãéãã¦ããã JavaScriptã®æ¥ä»ã©ã¤ãã©ãªã«ã¯moment.jsãday.jsãdate-fnsãªã©ããããããããã¨ç°ãªãã®ã¯ããã¤ãã£ãã®Dateãªãã¸ã§ã¯ããç´æ¥å¯¾è±¡ã¨ãã¦ãããã¨ã§ããã å¾æ¥ã®æ¥ä»ã©ã¤ãã©ãªã¯ãç¬èªã®æ¥ä»ããªããã£ããæä¾ãããã¨ãä¸è¬çã§ãã£ãããTempoã§ã¯ãã¤ãã£ãã®JavaScript Dateãªãã¸ã§ã¯ãã¨ç´æ¥é£æºããIntl.DateTimeFormatãæ´»ç¨ãããã¨ã§ãã¿ã¤ã ã¾ã¼ã³ããã±ã¼ã«ã®ãã¡ã¼ã¹ãã¯ã©ã¹ãµãã¼ããæä¾ããã ãã§ãªããã©ã¤ãã©ãªã®ãµã¤ãºåæ¸
ã¯ããã« ã¾ãâã®è¨äºãè¦ã¦ãªãæ¹ã¯ãã²è¦ã¦ãã ããï¼ èªåã«ã¨ã£ã¦ã¯ãã®è¨äºã«ã¯ããã£ãããã³ã¬ï¼ããªãã¯ããã¯ãå¤ããç¹ã«è§£èª¬ããªãã£ãã®ã§ãããã調ã¹ã¦ããä¼æ¥ãæ¶ãã¦ã¾ãã... ãªã®ã§ãã®æéã®ä¾é¤ãããã¦ãèªåãç¥ããªãã£ãé¨åãä¸å¿ã«ãåè¶ãªããå è¨äºã®è§£èª¬ãæ¸ãã¦ã¿ããã¨æãã¾ãã ã¡ãªã¿ã«ã以ä¸ãå è¨äºã®ã³ã¼ããã®ã¾ã¾ãå®è£ ãããã®ã§ãããããã«æ²è¼ã³ã¼ãã ãã§è¦ç´ ãã°ãªã°ãªåãã¾ããã See the Pen js-drag-move-original by www-tacos (@www-tacos) on CodePen. åè³1: $img ã¾ãã³ã¼ãã®ãã
<img id="$img" src="https://js.cx/clipart/ball.svg" width="40" height="40"> <script> $img.onpointermove = function(event){ if(event.buttons){ this.style.left = this.offsetLeft + event.movementX + 'px' this.style.top = this.offsetTop + event.movementY + 'px' this.style.position = 'absolute' this.draggable = false this.setPointerCapture(event.pointerId) } } </script>
å人çãªJavaScriptã®æ å ±åéã®æ¹æ³ã«ã¤ãã¦ã¾ã¨ãã¦ã¿ã¾ãã JSer.infoãªã©ããã£ã¦ããã®ã§ãJavaScriptã®æ å ±ã«ã¤ãã¦ã¯è²ã ãªæ å ±æºãè¦ãããã«ãã¦ãã¾ãã JSer.infoã®ç¯å²ã®ä¸ã§ã®æ å ±æºã«ã¤ãã¦ã¯ã次ã®è¨äºã§ã¾ã¨ãã¦ãã¾ãã JSer.info 13å¨å¹´: JavaScriptã®æ å ±æºãæ´çãã - JSer.info ãã®è¨äºã§ã¯ãå°ãã¹ã³ã¼ããåºãã¦JavaScriptã®æ å ±åéã«ã¤ãã¦ã¾ã¨ãã¦ã¿ã¾ãã ããªãã¹ã³ã¼ããåºãã£ã¦ãã¾ãã®ã§ãä¸äººåãã®æ¹æ³ã§ã¯ãªããå人çãªæ å ±åéæ¹æ³ã¨ãã¦ã¾ã¨ãã¦ãã¾ãã ãã®è¨äºã§ã¯ãè¨å¤§ãªæ å ±ã®ä¸ããè¦ã¤ããã¨ããã¢ããã¼ããã¨ã£ã¦ããã®ã§ã人ã«ãã£ã¦åãä¸åããããã¨æãã¾ãã æ å ±åéã®æ¹æ³ æ å ±ã®å ã¨ãªãæ å ±æºã¯ãã¾ãã¾ãªãµã¤ãã人ã«ãªãã¨æãã¾ãã ãããããã®ãµã¤ãã人ãã¨ã«è¦ã¦ããã¨ããã®ã¯ããªã大å¤
ã©ã³ãã³ã°
ãç¥ãã
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}