常用的 ES9 语法 - 增强的对象字面量和 Symbol

阅读时长 3 分钟读完

在前端开发中,ES9(也就是 ECMAScript 2018)带来了很多有用的语法特性,其中最重要的两个特性就是增强的对象字面量和 Symbol 。

增强的对象字面量

在 ES9 中,对象字面量的写法得到了改进,现在可以在对象字面量中直接使用计算属性名和简洁属性:

-- -------------------- ---- -------
----- - - ------
----- - - - 
  ---- ------ -------
  ----- -
    --------------------- ------ ----------
  -
--
------------------- -- --------- ------
-------- -- ------------ ------ --------

上面的代码中,我们使用了一个变量 a 来定义对象 b 中的一个计算属性。这样就可以让我们更加灵活地使用对象字面量了。

此外,ES9 还支持使用 Object.assign 对象合并的简化语法:

上面代码的 ... 实际上是扩展运算符,将 ab 中的所有属性合并到了 c 中。

Symbol

Symbol 是一个全新的原始数据类型,用来表示独一无二的值。每个 Symbol 值都是唯一的,它们可以作为对象的属性名使用。

上面的代码中,我们使用 const mySymbol = Symbol() 创建了一个唯一的 Symbol 值,然后将其作为对象 obj 的属性名,最后使用 obj[mySymbol] 来访问该属性。

Symbol 还有一个重要的特性,就是可以定义对象的私有属性。私有属性只能在对象内部访问,外部代码不能访问到它们:

-- -------------------- ---- -------
----- ---------------- - --------------- -----------
----- ------- -
  ------------- -
    ---------------------- - ----- -- - ------- -----------
  -
  -------------------- -
    ------ -----------------------
  -
-
----- -------- - --- ----------
------------------------------------------- -- -------- -- - ------- ----------
---------------------------------------- -- ------------

上面的代码中,我们使用 _privateProperty 声明了一个私有属性,并使用 Symbol 函数为它设置了一个唯一的标识符。这样该属性就无法被外部代码随意访问了。

总结

ES9 增强了对象字面量的语法,并引入了 Symbol 类型。这些新特性的使用可以让我们更加灵活地编写代码,提高代码的可读性和可维护性。使用这些新特性需要注意一些细节,但只要掌握了它们的基础知识,就能轻松地编写高质量的代码。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64ae107a48841e9894a07064

纠错
反馈