导航
×
   ❮   
HTML CSS JavaScript PHP Go ECMS

JavaScript 教程

JS 简介 JS 如何使用 JS 输出 JS 语法 JS 语句 JS 注释 JS 变量 JS 运算符 JS 条件语句 JS 循环 JS 字符串 JS 数字 JS 函数 JS 对象 JS 日期 JS 数组 JS 类型化数组 JS 集合 JS Map 映射 JS Math JS 正则表达式 JS 数据类型 JS 错误 JS 事件 JS 编程 JS 关键字参考 JS 保留关键字参考 JS 运算符参考 JS 运算符优先级 JS UTF-8 字符 JS UTF-8 符号 JS UTF-8 表情符号 JS 版本

JavaScript 2025 新特性


JavaScript 2025 新特性

特性 描述  
RegExp /v flag /u(Unicode)标志的"升级版"  
RegExp.escape() 返回一个转义了正则表达式字符的字符串  
Float16Array 一个存储 16 位浮点数的类型化数组  
Math.f16round() 返回最接近的 16 位浮点数  
Promise.try() 启动一个 Promise 链来处理 Promise 拒绝  
导入属性 导入语句中允许的导入属性  

2025 年新增集合功能

功能 描述  
union() 返回两个集合的并集  
intersection() 返回两个集合的交集  
difference() 返回两个集合的差集  
symmetricDifference() 返回两个集合的对称差集  
isSubsetOf() 如果此集合是给定集合的子集,则返回 true  
isSupersetOf() 如果此集合是给定集合的超集,则返回 true  
isDisjointFrom() 如果此集合不包含给定集合中的任何元素,则返回 true  

警告

这些功能相对较新。

旧版浏览器可能需要替代代码(Polyfill)。


正则表达式 /v 标志

v 标志是对 u 标志的"升级"。

u(Unicode)标志启用正则表达式的完整 Unicode 支持。

v 标志启用更多与 Unicode 相关的功能。

新增功能包括:

  • \p 转义序列匹配的是字符串,而不仅仅是字符。
  • 字符类已升级,支持交集、并集和减法语法,以及匹配多个 Unicode 字符。

示例

let text = "Hello 😄";

let pattern = /\p{RGI_Emoji}/v;
let result = pattern.test(text);
亲自试一试 »
let text = "Hello 😄";

let pattern = /\p{RGI_Emoji}/;
let result = pattern.test(text);
亲自试一试 »

自 2025 年 5 月起,所有现代浏览器均支持 /正则表达式/v:

         
Chrome
136
Edge
136
Firefox
134
Safari
18.2
Opera
121
2025年4月 2025年5月 2025年1月 2024年12月 2025年6月

RegExp.escape() 方法

RegExp.escape() 方法返回一个字符串,其中属于正则表达式语法的字符已被转义。

这使得我们可以将 +、*、?、^、$、(、)、[、]、{、}、| 和 \ 等字符视为字面值,而不是正则表达式的一部分。

示例

创建一个匹配字符串"[*]"的正则表达式:

// 转义文本以用作正则表达式
const safe = RegExp.escape("[*]");

// 创建一个新的正则表达式
const regex = new RegExp(safe);

// 要替换的文本
const oldText = "[*] is a web school.";

// 执行替换操作
const newText = oldText.match(regex, "W3Schools");
亲自试一试 »

RegExp.escape() 自 2025 年 5 月起,所有现代浏览器均支持该函数:

         
Chrome
136
Edge
136
Firefox
134
Safari
18.2
Opera
121
2025年4月 2025年5月 2025年1月 2024年12月 2025年6月

Float16Array 方法

Float16Array 是一个 TypedArray,它以 IEEE 754 半精度格式存储 16 位(半精度)浮点数。

Float16Array 需要的内存是 Float32Array 的一半,是 Float64Array 的四分之一。

示例

const myArr = new Float16Array([1.5, 2.5, 3.5, 4.5]);

let bytes = myArr.BYTES_PER_ELEMENT;
let length = myArr.length;
亲自试一试 »

Float16Array 对象自 2024 年 6 月起在所有现代浏览器中均受支持:

         
Chrome
135
Edge
135
Firefox
129
Safari
18.2
Opera
120
2025年4月 2025年4月 2024年8月 2024年12月 2025年5月

Math.f16round 方法

静态方法 Math.f16round() 返回一个数的最接近的 16 位浮点数表示形式。

示例

let a = Math.f16round(2.60);
let b = Math.f16round(2.50);
let c = Math.f16round(2.49);
let d = Math.f16round(-2.60);
let e = Math.f16round(-2.50);
let f = Math.f16round(-2.49);
亲自试一试 »

Math.f16round() 方法自 2024 年 6 月起在所有现代浏览器中均受支持:

         
Chrome
135
Edge
135
Firefox
129
Safari
18.2
Opera
120
2025年4月 2025年4月 2024年8月 2024年12月 2025年5月

Promise.try() 方法

Promise.try() 方法从可能抛出异常的同步代码开始创建一个 Promise 链。

这确保异常能够被正确地处理为 Promise 拒绝。

示例

function compute() {
  return Promise.try(() => {
    const v = mayThrowSync();
    return asyncFunc(v);
  });
}

JavaScript Set union()

union() 方法返回两个集合的并集。

union() 方法返回一个新集合,其中包含当前集合、参数集合或两者都包含的元素。

Union

示例

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

const C = A.union(B);
亲自试一试 »

union() 方法自 2024 年 6 月起在所有现代浏览器中均受支持:

         
Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
2024年2月 2024年2月 2024年6月 2023年9月 2024年3月

JavaScript Set intersection()

intersection() 方法返回两个集合的交集。

intersection() 方法返回一个新集合,其中包含当前集合和参数集合中的元素。

Intersection

示例

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

const C = A.intersection(B);
亲自试一试 »

intersection() 方法自 2024 年 6 月起在所有现代浏览器中均受支持:

         
Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
2024年2月 2024年2月 2024年6月 2023年9月 2024年3月

JavaScript Set difference()

difference() 方法返回两个集合之间的差集。

difference() 方法返回一个新集合,其中包含当前集合中存在但不在参数集合中的元素。

Difference

示例

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

const C = A.difference(B);
亲自试一试 »

difference() 方法自 2024 年 6 月起在所有现代浏览器中均受支持:

         
Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
2024年2月 2024年2月 2024年6月 2023年9月 2024年3月

JavaScript Set symmetricDifference()

symmetricDifference() 方法返回两个集合之间的对称差集。

symmetricDifference() 方法返回一个新集合,其中包含存在于当前集合或参数集合中,但不同时存在于两者中的元素。

Symmetric Difference

示例

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

const C = A.symetricDifference(B);
亲自试一试 »

symmetricDifference() 方法自 2024 年 6 月起在所有现代浏览器中均受支持:

         
Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
2024年2月 2024年2月 2024年6月 2023年9月 2024年3月

JavaScript Set isSubsetOf()

isSubsetOf() 方法返回 true,表示此集合中的所有元素都包含在参数集合中。

Subset

示例

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

let answer = A.isSubsetOf(B);
亲自试一试 »

isSubsetOf() 方法自 2024 年 6 月起在所有现代浏览器中均受支持:

         
Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
2024年2月 2024年2月 2024年6月 2023年9月 2024年3月

JavaScript Set isSupersetOf()

isSupersetOf() 方法返回 true,如果参数集中的所有元素也都在此集合中:

Superset

示例

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

let answer = A.isSupersetOf(B);
亲自试一试 »

isSupersetOf() 方法自 2024 年 6 月起在所有现代浏览器中均受支持:

         
Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
2024年2月 2024年2月 2024年6月 2023年9月 2024年3月

JavaScript Set isDisjointFrom()

isDisjointFrom() 方法返回 true,表示该集合与参数集合没有共同元素。

Disjoint

示例

const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);

let answer = A.isDisjointFrom(B);
亲自试一试 »

Set.isDisjointFrom() 方法自 2024 年 6 月起在所有现代浏览器中均受支持:

         
Chrome
122
Edge
122
Firefox
127
Safari
17
Opera
108
2024年2月 2024年2月 2024年6月 2023年9月 2024年3月

注意

同时使用 u 和 v 标志会导致语法错误。


带有 import 导入属性的模块

语法

import {names} from "module-name" with {key:"data"};

示例

import config from "config.json" with {type:"json"};

import styles from "styles.css" with {type:"css"};

import data from "data.json" with {type:"json"};

freew3c.com 中文网是独立运营的中文开发者学习平台,与 freew3c.com 无关联。提供的内容仅用于学习和测试,不保证内容的正确性。


Copyright @2020-2026 京ICP备888888号-8