音ゲー、fps、DTM、プログラミング雑記置き場

ブログタイトル通りに雑記を垂れ流す。

JavaScript

【JavaScript】定義していないオブジェクトのプロパティを参照した際の振る舞い

結論、参照した時点でそのプロパティがイニシャライズされる 動的型宣言かつスクリプト言語という枠組みなので、定義外の参照にも寛容? これの困る点は振る舞いとして例外に飛ばず、意図しないイニシャライズの検知が遅れること。 仮に下記のobj.cがSQLのバ…

【JavaScript】Array.filterとArray.indexOfで重複した要素を取り除く

やってることは難しくないが、CallBack挟んでいたりで内部のロジックまで理解せず使用できちゃうのでちょっとだけ深堀りする var arr = [1,2,3,3]; // [1,2,3] var arrDistinct = arr.filter( (element,index,myself) => {return myself.indexOf(element) ==…

【JavaScript】ifの判定が省略されるパターン

下記パターン if文でbの評価は行わない var a = true; var b = false; if(a && b) console.log("true"); 検証 下記ソースをブラウザの開発者モードのコンソールにぶち込めば下記結果返ってくる AND,ORで1桁同士の演算の2進数カルノー図かけば当たり前でAND…

【ServiceNow】GlideRecordをReturnする際の注意点

結論から言うとGlideRecordはテーブルのレコード情報を持つオブジェクトなので、カラムの値を返す glideRecord.columnはcolumnのデータ型に依存する この辺はまあ当たり前なのだが、glideRecord.loginTime(String)とか平気でされるので、 ハマりポイントにな…

【ServiceNow】Class.create()は何をしているのか?

ScriptInclude作成するときやGrideAjaxで非同期実装するときに暗黙的に 使用されている Class.create()やObject.extendsObject()が何をしているのか? 以下はServiceNowドキュメントより引用 var GetUserInfo = Class.create(); GetUserInfo.prototype = Obj…

【JavaScript】まってくださいプロトタイプベースオブジェクト指向とわ!? #1

C#、Javaとかで書いてたクラスからインスタンス生成という概念がJavaScriptにない 上記はクラスベースオブジェクト指向でJSとはそもそも立ち位置が違う JavaScriptはプロトタイプベースオブジェクトらしい なのでクラスベースの言語とはコンストラクタとか継…

【JavaScript】代入`a = b`で何がaに入る?

結論から言うと、bの値への参照情報 参照渡しじゃんとなるけど、アドレスを渡しているかまで 言語仕様理解してないのであくまで「実値への参照情報」 JavaScriptがそもそも高級よりでメモリとか関与してなさそうだから 渡してるのはアドレスな気がする。(こ…

【JavaScript】async,awaitでもcallbackは必要

コールバック関数とは 引数として渡され、渡し先の処理(ルーチン)で実行される関数 以下MDN Web Docsより引用、少し改変したソース Callback function (コールバック関数) // A function hello(name) { alert(`Hello, ${name}`); } // B function process…