我在代码战中解决了一个kata,当我遇到双星号来表示它的强大功能时,我正在查看其他一些解决方案.我做了一些研究,可以看到这是python中的一个有效的运算符,但在JavaScript文档中却看不到它.
var findNb = m =>
{
var n = Math.floor((4*m)**.25);
var sum = x => (x*(x+1)/2)**2;
return sum(n) == m ? n : -1;
}
Run Code Online (Sandbox Code Playgroud)
然而,当我在代码大战上运行此解决方案时,它似乎有效.我想知道这是否是ES6中的新功能,虽然我没有发现它.
假设我们1在基数2中有这个数字是:
00000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)
现在我想翻转所有位以获得以下结果:
11111111111111111111111111111110
Run Code Online (Sandbox Code Playgroud)
据我所知,解决方案是使用~(按位NOT运算符)翻转所有位,但结果~1是-2:
console.log(~1); //-2
console.log((~1).toString(2)); //-10 (binary representation)
Run Code Online (Sandbox Code Playgroud)
为什么我会得到这个奇怪的结果?
ECMAScript 2015规范提到关键字(或单词?)new.target正好3次 - 在14.2.3中 1次:
通常,Contains不会查看大多数函数表单但是,Contains用于检测ArrowFunction中的new.target,this和super用法.
在14.2.16中两次:
ArrowFunction不为arguments,super,this或new.target定义本地绑定.对ArrowFunction中的参数,super,this或new.target的任何引用 都必须解析为词汇封闭环境中的绑定
MDN提到它,但非常模糊,页面不完整.
巴别塔似乎不支持它.尝试在函数(箭头或其他)中使用new.target时出现语法错误.
它是什么,它应该如何使用?
在GraphQL中,您可以编写类似这样的内容来定义查询:
const USER_QUERY = gql`
{
user(id: 2) {
name
}
}
`
Run Code Online (Sandbox Code Playgroud)
在样式化组件中,您可以像这样定义样式化组件:
const Button = styled.button`
background-color: papayawhip;
`
Run Code Online (Sandbox Code Playgroud)
这是什么语法?我知道使用模板文字你可以使用这种语法来修改变量:${foo}但是我从未见过使用它.任何指导将不胜感激.
javascript ecmascript-6 graphql template-literals styled-components
刚看到下划线的来源:
if (obj.length === +obj.length) {
...
}
Run Code Online (Sandbox Code Playgroud)
怎么plus办?我以前从未见过这个.
它被认为是开发人员的好习惯吗?
这是什么意思:>>在JavaScript中意味着什么?
从这个角度来看:
document.onkeydown = document.onkeyup = function(e,v,y,k) {
(i=e.keyCode-37)>>2 || (keys[i] = e.type[5]&&1||(0))
}
Run Code Online (Sandbox Code Playgroud) 我已经在JS写了一段时间并且没有使用过这种形式:
dist: {
files: {
[bpr + 'lib/Monster.min.js']: ['<%= concat.dist.dest %>']
}
}
}
Run Code Online (Sandbox Code Playgroud)
该
[]:[]
Run Code Online (Sandbox Code Playgroud)
它工作,我只是没有使用它或之前看过它.
对于项目,开发人员向我们发送了一个.js文件,其代码类似于:
var myList = [1,2,3];
var a,b,c;
[a,b,c] = myList;
Run Code Online (Sandbox Code Playgroud)
它适用于Opera 10.30,Firefox 3.6.x,但对Opera 10.60和Chrome来说并不适用.
这只是好奇心,您是否有任何参考或链接表明此代码符合JS/ECMA标准?
你怎么看?
javascript ×10
ecmascript-6 ×3
operators ×2
graphql ×1
math ×1
numbers ×1
opera ×1
standards ×1