かつては島式ホーム1面2線のみであったが、東京メトロ副都心線を介した東急東横線方面への直通運転に伴い、北側に3番ホームを増設する改良工事が行われた。事業計画は2008年度の設備投資計画の中で発表され、ホームの混雑緩和、下り当駅止まりの列車が本線を塞ぐことによる後続列車への支障や保谷電留線への出入庫による上り線への障害の緩和、それによる速達性・定時運転の確保と踏切部における渋滞緩和を見込んだものであった。2010年3月21日、初電から新上りホームとして3番ホームを供用開始し、旧上りホームの2番ホームは一時的に使用停止とした。その後、下りホームを所沢寄りにずらして停止位置目標を50メートル移動させ、新2番ホームの線路と本線との渡り線（池袋側）が設けられた後、2011年7月17日の2番ホームの使用再開をもって駅改良工事は完成した。
所沢寄りに保谷電留線がある。留置線への出入庫は、2番または3番ホームを通して行なわれる。両ホームともに、池袋方、所沢方の両方に出発信号機を備えており、構造上は3番ホームから下り列車を出発させることも可能である。10両編成対応の留置線が4本あり、このうち3本が夜間に翌朝の始発列車へ備えて車両が留置されている。なお上り初電車は朝4時25分過ぎで、これは関東地方の私鉄の中で最も早い時刻である。事故などでダイヤが乱れて運転整理を行っている時に、地下鉄線からの列車が当駅で運転を打ち切り、留置線を経由して折り返すことがある。その場合、通常当駅を通過する地下鉄直通快速が当駅に臨時停車する場合がある。ただし、運転整理は石神井公園駅・所沢駅・小手指駅などで行うことが多い。
上下方向別単式ホーム2面3線と橋上駅舎を有する地上駅。所沢寄りに保谷電留線があり、池袋駅との間の各駅停車の多くは当駅が始発・終点となっている。また、地下鉄直通列車も一部が当駅で折り返す。保谷乗務所が設置されており、当駅を停車する多くの列車で乗務員の交替が行われる。ホームと橋上駅舎との間には、各ホームにそれぞれエレベーターが1基とエスカレーターが上下2基設置されている。なお3番ホームの幅員が1番・2番ホームよりも狭いことから、3番ホームからの上りエスカレーターはおよそ1人分の幅しかない規格のものが使用されている。橋上駅舎には改札内コンコースに多機能トイレがあり、改札外は南北自由通路となっている。北口側は地上との間にエレベーターと上りエスカレーターが1基ずつ、南口側はペデストリアンデッキに接続しているほか、エレベーターと上りエスカレーターが1基ずつ設置されている。
本府省庁課長級の分掌官としては、参事官の他、各省ごとに独特の官名がある（財務省主計局の主計官、総務省行政管理局の管理官、外務省の国際情報官など）。
本府省局長級の分掌官の代表例として「政策統括官」がある。内閣府（7人）、総務省（1人）、厚生労働省（2人）、国土交通省（2人）に置かれている。ほかに内閣官房（内閣人事局）には「人事政策統括官」（3人（うち一人は、関係のある他の職を占める者をもつて充てられるものとする。））、文部科学省・国土交通省には「国際統括官」、外務省には「国際情報統括官」、環境省には総合環境政策統括官、総務省には単官型のサイバーセキュリティ統括官、農林水産省にも単官型の政策統括官が置かれている。
JavaScriptの変数は var, letおよびconst キーワードを使用して宣言できる。var x; // 変数xの宣言。値が未指定のため、特殊な値である undefined が入った状態となる。var y = 2; // 変数yの宣言。同時に 2 が代入される。上記例のスラッシュ2文字以降はコメントである。JavaScriptは言語仕様にI/Oが組み込まれておらず、それらは実行環境により提供される。ECMAScript 5.1の仕様では以下のように言及されている。この仕様の中では外部データの入力または計算結果の出力は供給しない。(… indeed, there are no provisions in this specification for input of external data or output of computed results.)しかし、ほとんどの実行環境はConsole Standardで規定されている console オブジェクトを持っており、そこにコンソール出力を行える。以下に最小のHello worldプログラムを示す。console.log("Hello World!");再帰関数は以下のように書ける。function factorial(n) {    if (n == 0) {        return 1;    }    return n * factorial(n - 1);}無名関数（またはラムダ式）の構文とクロージャの例は以下である。// ECMAScript 5以前の記法var displayClosure = function() {    let count = 0;    // ECMAScript 2015以降で可能な記法    return ()=> {        return ++count;    };}var inc = displayClosure();inc(); // 1 が返るinc(); // 2 が返るinc(); // 3 が返る可変長引数は以下のように記述する。var sum = function(...args) {    let x = 0;    for (const v of args) {        x += v;    }    return x;}sum(1, 2, 3); // 6 が返る即時実行関数式 (IIFE) の例。関数を用いることで変数をクロージャに閉じ込めることができる。var v;v = 1;var getValue = (function(v) {  return function() {return v;};})(v);v = 2;getValue(); // 1 が返る