Node10 CHANGELOG---已发布!!!
2018-04-24, Version 10.0.0 (Current), @jasnell
Notable Changes
-
Assert
- Calling
assert.fail()
with more than one argument is deprecated. [70dcacd710
] - Calling
assert.ok()
with no arguments will now throw. [3cd7977a42
] - Calling
assert.ifError()
will now throw with any argument other thanundefined
ornull
. Previously the method would throw with any truthy value. [e65a6e81ef
] - The
assert.rejects()
andassert.doesNotReject()
methods have been added for working with async functions. [599337f43e
]
- Calling
-
Async_hooks
- Older experimental async_hooks APIs have been removed. [
1cc6b993b9
]
- Older experimental async_hooks APIs have been removed. [
-
Buffer
- Uses of
new Buffer()
andBuffer()
outside of thenode_modules
directory will now emit a runtime deprecation warning. [9d4ab90117
] Buffer.isEncoding()
now returnsundefined
for falsy values, including an empty string. [452eed956e
]Buffer.fill()
will throw if an attempt is made to fill with an emptyBuffer
. [1e802539b2
]
- Uses of
-
Child Process
- Undefined properties of env are ignored. [
38ee25e2e2
], [85739b6c5b
]
- Undefined properties of env are ignored. [
-
Console
- The
console.table()
method has been added. [97ace04492
]
- The
-
Crypto
- The
crypto.createCipher()
andcrypto.createDecipher()
methods have been deprecated. Please usecrypto.createCipheriv()
andcrypto.createDecipheriv()
instead. [81f88e30dd
] - The
decipher.finaltol()
method has been deprecated. [19f3927d92
] - The
crypto.DEFAULT_ENCODING
property has been deprecated. [6035beea93
] - The
ECDH.convertKey()
method has been added. [f2e02883e7
] - The
crypto.fips
property has been deprecated. [6e7992e8b8
]
- The
-
Dependencies
- V8 has been updated to 6.6. [
9daebb48d6
] - OpenSSL has been updated to 1.1.0h. [
66cb29e646
]
- V8 has been updated to 6.6. [
-
EventEmitter
- The
EventEmitter.prototype.off()
method has been added as an alias forEventEmitter.prototype.removeListener()
. [3bb6f07d52
]
- The
-
File System
- The
fs.promises
API provides experimental promisified versions of thefs
functions. [329fc78e49
] - Invalid path errors are now thrown synchronously. [
d8f73385e2
] - The
fs.readFile()
method now partitions reads to avoid thread pool exhaustion. [67a4ce1c6e
]
- The
-
HTTP
- Processing of HTTP Status codes
100
,102-199
has been improved. [baf8495078
] - Multi-byte characters in URL paths are now forbidden. [
b961d9fd83
]
- Processing of HTTP Status codes
-
N-API
- The n-api is no longer experimental. [
cd7d7b15c1
]
- The n-api is no longer experimental. [
-
Net
- The
'close'
event will be emitted after'end'
. [9b7a6914a7
]
- The
-
Perf_hooks
- The
PerformanceObserver
class is now anAsyncResource
and can be monitored usingasync_hooks
. [009e41826f
] - Trace events are now emitted for performance events. [
9e509b622b
] - The
performance
API has been simplified. [2ec6995555
] - Performance milestone marks will be emitted as trace events. [
96cb4fb795
]
- The
-
Process
- Using non-string values for
process.env
is deprecated. [5826fe4e79
] - The
process.assert()
method is deprecated. [703e37cf3f
]
- Using non-string values for
-
REPL
- REPL now experimentally supports top-level await when using the
--experimental-repl-await
flag. [eeab7bc068
] - The previously deprecated “magic mode” has been removed. [
4893f70d12
] - The previously deprecated
NODE_REPL_HISTORY_FILE
environment variable has been removed. [60c9ad7979
] - Proxy objects are shown as Proxy objects when inspected. [
90a43906ab
]
- REPL now experimentally supports top-level await when using the
-
Streams
- The
'readable'
event is now always deferred with nextTick. [1e0f3315c7
] - A new
pipeline()
method has been provided for building end-to-data stream pipelines. [a5cf3feaf1
] - Experimental support for async for-await has been added to
stream.Readable
. [61b4d60c5d
]
- The
-
Timers
- The
enroll()
andunenroll()
methods have been deprecated. [68783ae0b8
]
- The
-
TLS
- The
tls.convertNONProtocols()
method has been deprecated. [9204a0db6e
] - Support for NPN (next protocol negotiation) has been dropped. [
5bfbe5ceae
] - The
ecdhCurve
default is now'auto'
. [af78840b19
]
- The
-
Trace Events
- A new
trace_events
top-level module allows trace event categories to be enabled/disabld at runtime. [da5d818a54
]
- A new
-
URL
- The WHATWG URL API is now a global. [
312414662b
]
- The WHATWG URL API is now a global. [
-
Util
util.types.is[…]
type checks have been added. [b20af8088a
]- Support for bigint formatting has been added to
util.inspect()
. [39dc947409
]
详情请点击查看
8 回复
希望ES6 module能在10LTS正式启用
ECDH终于动了,之前公钥不能转换真的很残废
来自酷炫的 CNodeMD
甚至支持私有属性
发布了!!!
越来越给力
看一看node 10 的 V8 6.6实现了多少es语法新特性吧
异步迭代器
async function*generator(){
yield 42;
}
const iterator = generator();
iterator.next().then(function(step){
iterator[Symbol.asyncIterator]() === iterator; // true
step.done === false; // true
step.value === 42; // true
});
配套语法还有个for-await循环语句
async function*generator(){
yield *[1,2,3];
}
(async () => {
for await(const i of generator()) console.log(i);
})();
// 1
// 2
// 3
可选catch参数
用不着catch(err)
里面的err的时候,可以直接不写了
try {
} catch {
}
正则表达式强化
- 命名组
(?<name>...)
const t = /abc(?<num>\d)def/.exec('abc1def');
t.groups.num; // '1'
- unicode
const regexGreekSymbol = /\p{Script=Greek}/u;
return regexGreekSymbol.test('π'); // true
String.prototype.trim…
String.prototype.trimStart === String.prototype.trimLeft;
String.prototype.trimEnd === String.prototype.trimRight;
class fields
并没有动…依然不支持…
class C {
x = 'x'; // error
}
但 是
node --harmony
class C {
a = 'aaa';
#x = 123;
constructor(x){
if (x !== undefined) this.#x = x;
}
x(){
return this.#x;
}
}
new C().a; // 'aaa'
new C(42).x(); // 42
new C(42).#x; // SyntaxError: Invalid private field '#x'
new C().x(); // 123
还是没有看到 es6 module