JavaScript

【JavaScript】popメソッド

array.pop()メソッドは、実行した配列そのものに直接作用し、配列の最後の要素を削除する。
そして、array.pop()メソッドは削除した要素を返す。
配列の長さが1つ減る。
削除された要素が返されるという挙動になる。
array.pop()メソッドは配列を操作するメソッドである。

続きを読む

【JavaScript】sortメソッド その3

sortを使って配列を並び替える。
配列の要素がオブジェクトの場合のsortを考える。
配列sの要素がオブジェクトの場合にオブジェクトのプロパティ名「first」の値で昇順に並び替える。

続きを読む

【JavaScript】sortメソッド その1

sortメソッドは,その配列自身を中身をソートしたものに書き換える。ただし、このメソッドは、数値の配列を正しく並べ替えることができない。
JavaScriptの標準の比較関数は,比較の前に変数の型を調べない。どんな場合も要素を文字列とみなして比較されてしまう。
つまり、次のような挙動になる。

続きを読む

【JavaScript】URLの解析

ブラウザでのURLの解析方法はNode.jsの「WHATWG URL」と同じである。
このURLを解析するコードをNode.js v18.15.0で動かすとブラウザと同じ結果になることを確認した。

続きを読む

【JavaScript】argumentsオブジェクトを配列(Array)に変換する

argumentsはlengthプロパティを持っている。
しかし、配列ではなく配列風オブジェクトである。
最近のコーティングではfor文の代わりにforEach文を使うが、argumentsにforEach文を使うにはargumentsを配列に変換する必要がある。
Array.prototype.slice.call(配列風オブジェクト)で配列風オブジェクトを配列に変換する。
argumentsはArray.prototype.slice.call(配列風オブジェクト)で配列に変換後にforeachメソッドを使う。
Array.prototype.slice.call(配列風オブジェクト)を省略して書くと[].slice.call(配列風オブジェクト)となる。

JavaScriptの仕様ではArray.prototype.slice.call(配列風オブジェクト)による順序の保証は明示されていない。ただし、多くの環境や実装では、sliceメソッドが配列風オブジェクトの要素を順番にコピーするため、順序が保証されることが一般的である。

続きを読む