[Javascript] Highlights from IO18 Javascript new features
Latest Javascript features, not supported by all broswers, but can use with babel.
# try-catch-finally, Promise finally:
async function fetchAndDisplay({url, element}) { showLoadingSpinner(); try { const response = await fetch(url); const text = await response.text(); element.textContent = text; } catch(error) { element.textContent = error.message; } finally { hideLoadingSpinner(); } }
function getStarsNumber(username, reponame) { startLoadingAnimation(); return fetch(`https://api.github.com/repos/${username}/${reponame}`) .then(res => res.json()) .then(data => data.stargazers_count) .catch(() => `Couldn't get the stars number`) .finally(stopLoadingAnimation); }
# Regex:
1. Lookbehind:
// Positive lookbehind: const partten = /(?<=\$)\d+/u; //looking for any number after $ const res = pattern.exec('$42'); // res[0] === '42' // Negative lookbehind: const pattern = /(?>!\$)\d+/u; // looking for any number which is not after $ const res = pattern.exec('£42'); // res[0] === '42'
2. Lookahead:
// Positive lookahead: const pattern = /\d+(?= dollars)/u; // looking for any number before dollars const res = pattern.exec('42 dollars'); // res[0] === '42' // Negative lookahead: const pattern = /\d+(?! dollars)/u; // looking for any number which is not before dollars const res = pattern.exec('42 rupees'); // res[0] === '42'
3. Named group catch:
const pattern = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/u; const res = pattern.exec('2018-05-09');; // res.group.year === '2018' // res.group.month === '05' // res.group.day === '09'
4. Find whole words with line break:
using: 's', pretty much you can add 'us' to all regex.
# Javascript module:
<link rel = "modulepreload" href="lib.mjs"> <!-- preload module --> <link rel = "modulepreload" href="main.mjs"> <script type="module" src="main.mjs"></script> <!-- javascript module file--> <script nomodule src="fallback.js"></script> <!-- fallback to normal js file -->
分类:
Javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2016-05-21 [PWA] 16. Clean IDB
2015-05-21 [AngularJS] angular-formly: Extending Types