ES6-ShimES6兼容JS引擎工具
ES6-Shim 提供兼容性垫片,使ES6能兼容于传统的JavaScript引擎。
兼容平台:
示例代码:
require('es6-shim'); var assert = require('assert'); assert.equal(true, 'abc'.startsWith('a')); assert.equal(false, 'abc'.endsWith('a')); assert.equal(true, 'john alice'.includes('john')); assert.equal('123'.repeat(2), '123123'); assert.equal(false, NaN === NaN); assert.equal(true, Object.is(NaN, NaN)); assert.equal(true, -0 === 0); assert.equal(false, Object.is(-0, 0)); var result = Object.assign({ a: 1 }, { b: 2 }); assert.deepEqual(result, { a: 1, b: 2 }); assert.equal(true, isNaN('a')); assert.equal(false, Number.isNaN('a')); assert.equal(true, Number.isNaN(NaN)); assert.equal(true, isFinite('123')); assert.equal(false, Number.isFinite('123')); assert.equal(false, Number.isFinite(Infinity)); // Tests if value is a number, finite, // >= -9007199254740992 && <= 9007199254740992 and floor(value) === value assert.equal(false, Number.isInteger(2.4)); assert.equal(1, Math.sign(400)); assert.equal(0, Math.sign(0)); assert.equal(-1, Math.sign(-400)); var found = [5, 10, 15, 10].find(function (item) { return item / 2 === 5; }); assert.equal(10, found); var foundIndex = [5, 10, 15, 10].findIndex(function (item) { return item / 2 === 5; }); assert.equal(1, foundIndex); // Replacement for `{}` key-value storage. // Keys can be anything. var map = new Map([['Bob', 42], ['Foo', 'bar']]); map.set('John', 25); map.set('Alice', 400); map.set(['meh'], 555); assert.equal(undefined, map.get(['meh'])); // undefined because you need to use exactly the same object. map.delete('Alice'); map.keys(); map.values(); assert.equal(4, map.size); // Useful for storing unique items. var set = new Set([0, 1]); set.add(2); set.add(5); assert.equal(true, set.has(0)); assert.equal(true, set.has(1)); assert.equal(true, set.has(2)); assert.equal(false, set.has(4)); assert.equal(true, set.has(5)); set.delete(5); assert.equal(false, set.has(5)); // Promises, see // http://www.slideshare.net/domenicdenicola/callbacks-promises-and-coroutines-oh-my-the-evolution-of-asynchronicity-in-javascript // https://github.com/petkaantonov/bluebird/#what-are-promises-and-why-should-i-use-them Promise.resolve(5).then(function (value) { assert.equal(value, 5); if (value) throw new Error('whoops!'); // do some stuff return anotherPromise(); }).catch(function (e) { assert.equal(e.message, 'whoops!'); assert.equal(true, e instanceof Error); // any errors thrown asynchronously end up here });
评论
Makeppmake兼容构建工具
Makepp是一个语法上和make兼容的全新实现的构建工具,主要是加强了可靠性以及使用更简单的Makefile文件。Makeapp可自动扫描头文件,处理多个目录的构建,可自动从一个集中的资料库中导入文
Makeppmake兼容构建工具
0
IO.js服务器端 JS 引擎
IO.js是为V8引擎编写的基于事件IO的实现。构建要求:*`gcc`and`g++`4.8ornewer,or*`clang`and`clang++`3.3ornewer*Python2.6or2.
IO.js服务器端 JS 引擎
0
BumbleBeeOCI 兼容的 eBPF 工具
BumbleBee简化了eBPF工具的构建,并允许你使用OCI图像打包、分发和运行eBPF程序。它允许你只关注代码的eBPF部分,而BumbleBee会自动处理boilerplate,包括用户空间代码
BumbleBeeOCI 兼容的 eBPF 工具
0
TerarkDB兼容 RocksDB 的 KV 存储引擎
TerarkDB 是字节跳动开源的 RocksDB 的替代品,具有优化的尾部延迟、吞吐量和压缩等。在
TerarkDB兼容 RocksDB 的 KV 存储引擎
0