首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

@@for不是函数(计算‘(类型for === ' function’?Symbol.for:'@@for')('jest.asymmetricMater')')

@@for不是函数(计算‘(类型for === ' function’?Symbol.for:'@@for')('jest.asymmetricMater')')

这个问答内容涉及到了一些编程语言和符号的概念。根据提供的信息,我将尝试给出一个完善且全面的答案。

首先,我们需要理解一些基本概念:

  1. for:在大多数编程语言中,for是一个关键字,用于循环执行一段代码。它通常由一个初始化语句、一个循环条件和一个循环后操作组成。

接下来,我们来解析给出的表达式:

'(类型for === ' function’?Symbol.for:'@@for')('jest.asymmetricMater')'

这个表达式看起来是一个条件判断语句,根据条件的结果返回不同的值。具体来说,它检查变量for的类型是否为函数,如果是函数则返回Symbol.for,否则返回'@@for'。然后,它将'jest.asymmetricMater'作为参数传递给返回的结果。

根据这个解析,我们可以给出以下答案:

@@for是一个根据条件判断返回不同值的表达式。它首先检查变量for的类型是否为函数,如果是函数则返回Symbol.for,否则返回'@@for'。然后,它将'jest.asymmetricMater'作为参数传递给返回的结果。

在云计算领域中,没有直接相关的概念或产品与@@for相关。然而,云计算可以提供强大的计算和存储能力,以支持各种编程语言和开发过程中的需求。腾讯云作为一家领先的云计算服务提供商,提供了丰富的产品和解决方案,可以满足开发者在云计算领域的需求。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务。

请注意,由于问题中要求不提及其他流行的云计算品牌商,我无法提供与腾讯云相关的具体产品和链接地址。但是,您可以通过访问腾讯云官方网站来获取更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JS Advance --- ES6语法(二)

默认值以及后面的参数都不计算在length之内了 function foo(m, n = 2) { console.log(arguments.length) // => 1 } foo() function...为前缀的,那么它会将剩余的参数放到该参数中,并且作为一个数组 Tips: 剩余参数必须作为最后一个参数进行传递,否则会报错 剩余参数中的...是前缀,不是展开运算符 function foo(m, n,...arguments对象不是一个真正的数组,而rest参数是一个真正的数组,可以进行数组的所有操作 rest参数是ES6中提供的一种替代arguments的来获取函数参数的方式,所以在开发中推荐使用剩余参数来替换...------------------- // 使用Symbol.for来创建symbol类型的值的时候 // 可以传入一个参数作为标识符 // 在创建的时候,会优先去寻找之前是否存在相同标识符的symbol...如果创建的时候没有传入标识符,则返回undefined // 注意: 这里返回的undefined是字符串类型的值 const s2 = Symbol.for() console.log(Symbol.keyFor

1.2K10
  • Symbol

    Symbol 值通过Symbol函数生成。这就是说,**对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。...typeof运算符的结果,表明变量s是 Symbol 数据类型,而不是字符串之类的其他类型。 注意,Symbol函数前不能使用new命令,否则会报错。...这是因为生成的 Symbol 是一个原始类型的值,不是对象。也就是说,由于 Symbol 值不是对象,所以不能添加属性。基本上,它是一种类似于字符串的数据类型。...function foo() { return Symbol.for('bar'); } const x = foo(); const y = Symbol.for('bar'); console.log...(x === y); // true 上面代码中,Symbol.for('bar')是函数内部运行的,但是生成的 Symbol 值是登记在全局环境的。

    1.1K10

    理解 Es6 中的 Symbol 类型

    ,它返回的是Symbol类型,而不是什么string,object之类的 在 Es5 中原有的对象的属性名是字符串类型中拓展了一个Symbol类型,也就是说,现在对象的属性名有两种类型 字符串类型 Symbol...类型 注意 Symbol 函数前不能使用new关键字,否则就会报错,这是因为生成的Symbol是一个原始类型的值,它不是对象 因为不是对象,所以也不能添加属性,它是一种类似于字符串的数据类型,可以理解为是在字符串类型的一种额外的拓展...()是为Symbol值登记的名字,在整个全局作用域范围内都起作用 function foo() { return Symbol.for('itclan'); } const x = foo();...new命令 Symbol函数前不能使用new命令,否则就会报错,Symbol是一个原始类型的值,不是对象,它是类似字符串的数据类型 Symbol值作为对象属性名时,不能用点运算符 当Symbol值作为对象的属性名时...,可保证对象的每个属性名的唯一性,可解决属性名的冲突问题 Symbol()函数会返回symbol类型的值,该类型具有静态属性(如Symbol().description,)和静态方法(Symbol.for

    42510

    Ecmascript语法之Symbol

    Symbol值通过Symbol函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的Symbol类型。...typeof运算符的结果,表明变量s是Symbol数据类型,而不是字符串之类的其他类型。 注意,Symbol函数前不能使用new命令,否则会报错。...这是因为生成的Symbol是一个原始类型的值,不是对象。也就是说,由于Symbol值不是对象,所以不能添加属性。基本上,它是一种类似于字符串的数据类型。...// mod.js const FOO_KEY = Symbol.for('foo'); function A() { this.foo = 'hello'; } if (!...所以,mapped对象不是MyArray的实例,而是Array的实例。 Symbol.match 对象的Symbol.match属性,指向一个函数

    1.3K90

    ES6笔记(4)-- Symbol类型

    是的,它是一种标记的方法,被ES6引入作为一种新的数据类型,表示独一无二的值。...声明 类似字符串String的声明方式 var str = 'str'; Symbol的声明方式类似,它调用构造函数Symbol() var s = Symbol(); typeof s // symbol...temp[1].name == temp[2].name // false 以上代码主要为了登记不同用户的分数,并确保唯一性使用了symbol,但最终用户名都为pick的项不想等,可能会导致后续的计算出错...把Symbol换成Symbol.for,输出才为true 两者类似,都可以生成一个Symbol类型的值,但后者是先判断全局中是否有该symbol值,有就返回该值,没有才创建,并将该值登记在全局中 var...s = Symbol.for('s'); var s1 = Symbol.for('s'); s == s1 // true s === s1 // true var s = Symbol('s'

    40020

    ES6之Symbol

    Symbol.for() Symbol.for() 接受一个字符串作为参数,然后搜索有没有以该参数作为名称的 Symbol 值。...Symbol.for()不会每次调用就返回一个新的 Symbol 类型的值,而是会先检查给定的key是否已经存在,如果不存在才会新建一个值。...(见Demo) 独立属性名:解决对象名称冲突-可计算属性名配合Symbol。 属性遍历:Symbol定义key值的属性名无法通过Object.keys,for in遍历到。...Symbol 值通过Symbol函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。...// 都可以获取 for (let key of Reflect.ownKeys(user)) { console.log(key) } 复制代码 清除魔幻字符串 // 消除魔幻字符串 function

    29010

    ES6篇(下)

    一、箭头函数1、概念及格式一种定义函数的方式,有点抽象,拿代码例子来观察一下吧(1)以往的函数定义 const 函数名= function(){代码块};(2)箭头函数的定义...【可以理解成function被箭头=>取代了】 const 函数名 =()=>{代码块};(3)调用方式仍然不变函数名();2、参数(1)没有参数const test...,this指向的使windowconst eat = ()=>{ console.log(this);}eat();//window(2)在对象obj里,箭头函数的this指向还是window,而不是指向...)图片 四、Symbol类型1、回忆类型(1)ES5:boolean、string、array、number、object、null、undefined(2)ES6:在ES5的基础上又增加了一个类型Symbol...,定义对象的唯一属性名2、注意(1)Symbol是类型不是构造函数,括号是描述,为了方便辨识let s = Symbol()let s1 = Symbol("key")let s2 = Symbol(

    33310

    我知道你不想跳槽,但你应该多去面试~

    不是感觉很少用到Symbols.其实es6内部用的还是不少的。 Symbol.hasInstance 每个函数都有这个方法。或许你对这个方法不是很熟,他其实就是instanceof所做的事情。...(日期除外,他的默认情况视为字符串模式) 其实在类型转换时调用默认情况的也不是很多。如(==, +)或者将参数传递给Date的构造参数的时候。...,如果是原始值,那么就返回 如果前面不是原始值,那么就尝试调用valueOf,如果是原始值,那么就返回 抛出错误 嗯,是不是感觉挺绕的,是啊,代码阐述下嘛。...let obj = { valueOf: function(){console.log('valueOf')}, toString: function(){console.log('toString...对于这个调用的模式还不是很清楚?没事,es6把这个内部的方法对外暴露出来了,我们可以改写他,输出这个hint的类型

    34320

    是否还在疑惑Vue.js中组件的data为什么是函数类型不是对象类型

    分析Vue.js组件中的data为何是函数类型而非对象类型 引言 正文 一、Vue.js中data的使用 二、data为对象类型 三、data为函数 结束语 引言 要理解本篇文章,必须具备JavaScript...,我们再来看看data为函数的例子,一般只有在可复用的Vue实例中,data才为函数 data: function() { return { name: '李四', age: '55' }...} 组件中data使用函数的情况 其实当我们把组件注册到别的页面上时,也会创建一个Vue实例,就像这个样子 function Vue() { //此处data的值为一个函数,调用时会return返回一个对象...this.data = function() { return { name: '李四', age: '55' } } } //创建了一个Vue实例,会调用上面的定义的函数...因为我们刚开始定义了构造函数Vue时,给他内部的data设置了一个值,该值为对象类型,对象类型在js中称为引用数据类型,在栈中是存储着一个指向内存中该对象的堆中的地址。

    3.5K30

    ES6: 符号类型

    符号值唯一 let s = Symbol() let m = Symbol() console.log(s === m) 创建: 不能用字面量形式创建 使用Symbol(desc)函数创建...,不需要添加new Symbol.for(key)在全局符号注册表中查找key符号值,如果找到就返回,没找到就创建一个新的符号值 Symbol.keyFor(symbol): 返回符号值的key...枚举: 符号类型的key是不能被枚举的,Object.keys()以及Object.getOwnPropertyNames()都不能返回符号类型的key Object.getOwnPropertySymbols...()则会返回对象中所有符号类型的key 共享符号值: Symbol.for(desc): 在全局符号注册表中查找描述为desc的符号,如果找到,返回这个符号值,如果没有,则创建一个新的符号值并返回...(obj): 判断obj是不是当前函数的实例,如ArraySymbol.hasInstance; 可以通过以下代码改变instanceof的默认行为: Object.defineProperty(MyObject

    5010

    简单说说ES6新特性

    //但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,//const只能保证这个指针是固定的(即总是指向另一个固定的地址), //至于它指向的数据结构是不是可变的...学会之后推荐声明变量时使用let,可以避免很多不必要的麻烦,const看个人需求 ◆ 2、Symbol ES6新增了一个基本数据类型:Symbol,至此ECMAScript的基本数据类型就有了6种:字符串...1 let s1 = Symbol.for('a'); 2 let s2 = Symbol.for('a'); 3 4 s1 === s2 // true 5 6 //两种写法区别 7 Symbol.for...18 sum() ◆ 5、箭头函数(常用) 箭头函数都是匿名函数 1 function show(num){ 2 return num*num 3 }...this对象,就是定义时所在的对象,而不是使用时所在的对象。

    1.1K20
    领券