Closed5

Reading "JavaScript: The Definitive Guide, 7th Edition"

bufferingsbufferings

Ch. 3 Types, Values, and Variables

Tagged template literals

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/raw

置換 (例えば ${foo}) は行われますが、エスケープ (例えば \n) は実行されません。

let name = 'Bob';
String.raw`Hi\n${name}!`;
// 'Hi\nBob!', substitutions are processed.

へー。

Symbols

https://ja.javascript.info/symbol#ref-928

へー。

レジストリ内でシンボルを作ったり読み込むためには、Symbol.for(key) を使います。

bufferingsbufferings

Ch. 4 Expressions and Operators

Conditional Property Access

ES2020

ドットの方は覚えてたけど、括弧の方は覚えてなかった

expression ?. identifier
expression ?.[ expression ]

Conditional Invocation

ES2020

関数呼び出しの nullish チェック

expression ?.()

The instanceof Operator

あぁ、JSにも instanceof あるのか。そっか。typeof ばっかり見かけてたから忘れてた。

これは prototype をチェックする。 o instanceof f の場合は f はコンストラクタ関数じゃないといけなくて f.prototypeo の prototype チェーンに含まれているかどうかをチェックする。

bufferingsbufferings

Ch. 5 Statements

Asynchronous iteration with for/await

For asynchronous iterator (ES2018)

// Read chunks from an asynchronously iterable stream and print them out
async function printStream(stream) {
    for await (let chunk of stream) {
        console.log(chunk);
    }
}
このスクラップは2021/10/07にクローズされました