阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS symbol toString()

      概述

      **toString()** 方法返回当前 symbol 对象的字符串表示。

      语法

      symbol.toString();
      

      描述

      Symbol 对象拥有自己的 toString 方法,因而遮蔽了原型链上的 Object.prototype.toString()

      symbol 原始值不能转换为字符串

      symbol 原始值不能转换为字符串,所以只能先转换成它的包装对象,再调用 toString() 方法:

      Symbol("foo") + "bar";      
      // TypeError: Can't convert symbol to string
      Symbol("foo").toString() + "bar"
      // "Symbol(foo)bar",就相当于下面的:
      Object(Symbol("foo")).toString() + "bar"
      // "Symbol(foo)bar"
      
      

      示例

      Symbol("desc").toString();   // "Symbol(desc)"
      
      // well-known symbols
      Symbol.iterator.toString();  // "Symbol(Symbol.iterator)
      
      // global symbols
      Symbol.for("foo").toString() // "Symbol(foo)"
      
      

      规范

      SpecificationStatusComment
      ECMAScript 2015 (6th Edition, ECMA-262)Symbol.prototype.toStringStandardInitial definition.

      相关链接

      目录
      目录