我很惊讶在阅读ES6时我找不到关于抽象类的任何内容.(通过"抽象类"我正在谈论它的Java含义,其中抽象类声明了子类必须实现的方法签名才能实现可实现化).
有没有人知道在ES6中实现抽象类的任何约定?能够通过静态分析捕获抽象类违规会很好.
如果我在运行时提出错误来表示尝试抽象类实例化,那么错误是什么?
我感兴趣的是,const在JavaScript中使用特定功能可以设置哪些类型的值有任何限制.这有效吗?虽然它确实有效,但是出于任何原因它被认为是不好的做法?
const doSomething = () => {
...
}
Run Code Online (Sandbox Code Playgroud)
是否应该在ES6中以这种方式定义所有功能?如果是这样的话,似乎并没有这样.
谢谢你的评论!
我正在尝试使用Javascript EC6中的新Map对象,因为它已经在最新的Firefox和Chrome版本中得到支持.
但我发现它在"功能"编程中非常有限,因为它缺乏经典的地图,过滤器等方法,可以很好地配合一[key, value]对.它有一个forEach但不返回回调结果.
如果我可以将它map.entries()从MapIterator转换为一个简单的数组,那么我可以使用标准.map,.filter没有额外的黑客攻击.
将Javascript迭代器转换为数组是否有"好"的方法?在python中它就像做一样简单list(iterator)...但是Array(m.entries())返回一个以Iterator为第一个元素的数组!
编辑
我忘了指定我正在寻找一个适用于地图工作的答案,这意味着至少Chrome和Firefox(Array.from在Chrome中不起作用).
PS.
如何编写一个函数,在ES6中以最紧凑的方式只占用少量属性?
我已经提出了使用解构+简化对象文字的解决方案,但我不喜欢在代码中重复的字段列表.
有更薄的解决方案吗?
(v) => {
let { id, title } = v;
return { id, title };
}
Run Code Online (Sandbox Code Playgroud) javascript destructuring ecmascript-harmony ecmascript-6 ecmascript-next
我从 NextJS 应用程序收到以下警告:
警告:来自服务器的额外属性:data-new-gr-cs-check-loaded、data-gr-ext-installed、cz-shortcut-listen、data-lt-installed
我不知道为什么会发生这种情况,这是什么解释?
是否有任何"和谐"方法从ES6类实例中获取类名?以外
someClassInstance.constructor.name
Run Code Online (Sandbox Code Playgroud)
目前我指望Traceur的实施.似乎Babel有一个Function.namepolyfill ,而Traceur没有.
总而言之:ES6/ES2015/Harmony中没有其他方式,ES中没有预期的ATM.接下来.
它可以为未经管理的服务器端应用程序提供有用的模式,但在用于浏览器/桌面/移动设备的应用程序中是不需要的.
巴别使用core-js到填充工具Function.name,应当手动加载Traceur和打字稿应用适当.
是否有一个null-safe属性访问(空传播/存在)操作者在ES6(ES2015/JavaScript.next /和谐)等?.中的CoffeeScript例如?或者是否计划用于ES7?
var aThing = getSomething()
...
aThing = possiblyNull?.thing
Run Code Online (Sandbox Code Playgroud)
这将大致如下:
if (possiblyNull != null) aThing = possiblyNull.thing
Run Code Online (Sandbox Code Playgroud)
理想情况下,解决方案不应该分配(甚至undefined)到aThing如果possiblyNull是null
我偶然发现了一个使用此比较的代码示例:
var someVar = 0;
Object.is(false, someVar); //Returns false
Run Code Online (Sandbox Code Playgroud)
我知道false == 0会是true这就是为什么我们有===.
有什么Object.is不同===?
有没有一种简单的方法将ES6地图合并在一起(比如Object.assign)?虽然我们在这,但ES6套装(如Array.concat)?
ecmascript-6 ×10
javascript ×10
function ×2
babeljs ×1
coffeescript ×1
const ×1
next.js ×1
oop ×1
reactjs ×1
return ×1
set ×1
traceur ×1