Twitter hashtag: #esspec
便利ツール
時事ネタ
JSConf
8/31まで
TSKaigi Hokuriku
9/15まで
自己紹介 (近況報告)
syumai syumai.icon
Go / TSを書いて暮らしてます
iwatsurut
とくに、イベントもなく過ごしています。
igrep(山本悠滋)
今更ながらTailscaleを初めて使った。便利
前回のあらすじ
今回のメモ
code:js
const sym = Symbol("a");
undefined
Object(sym);
typeof Object(sym);
'object'
const symObj = Object(sym);
undefined
symObj.valueOf()
Symbol(a)
symObj.double = function() { return this.toString() + this.toString() }
symObj.double()
'Symbol(a)Symbol(a)'
code:js
const subErr = new Error("sub error");
const err = new Error("main error", {
cause: subErr,
});
console.log(err.toString()); // Error: main error
code:js
function childFunc() {
throw Error("child error!");
}
function parentFunc() {
try {
childFunc()
} catch(err) {
throw Error("parent error!", err);
}
}
parentFunc();
/*
/Users/syumai/go/src/github.com/syumai/til/js/esspec85/c.js:9
throw Error("parent error!", err);
^
Error: parent error!
at parentFunc (/Users/syumai/go/src/github.com/syumai/til/js/esspec85/c.js:9:11)
at Object.<anonymous> (/Users/syumai/go/src/github.com/syumai/til/js/esspec85/c.js:13:1)
*/
code:js
const notErr = { message: "not error" };
const isErr = Error("error");
console.log(
Error.isError(notErr),
Error.isError(isErr),
);
code:js
Error.prototype.message = "hoge fuga";
console.log(Error.prototype.message); // hoge fuga
code:js
Error.prototype.name = "Broken Error";
class MyError1 extends Error {}
class MyError2 extends Error {}
const err1 = new MyError1();
const err2 = new MyError2();
console.log(err1.name); // Broken Error
console.log(err2.name); // Broken Error
code:js
const obj = {
message: "msg",
};
console.log(Error.prototype.toString.bind(obj)()); // Error: msg