JavaScriptのwindowについてのメモ

Published: 2016年3月11日 by tomsato

概要

JavaScriptを読むにあたってwindowってなんなのかつまったのでまとめておく
当たり前のことなのかもしれないけどわからなかったのでまとめておく

JavaScript勉強シリーズ

windowについて

windowとは

JavaScriptをブラウザで使用する場合、最初からwindowというグローバルオブジェクトが提供されている
このwindowにはブラウザのウインドウに関するものがまとまっている

// google chromeのDeveloper ToolsのConsoleを開いた状態で以下のコマンドを実行すると
// 自分では宣言していないwindowオブジェクトが存在していることがわかる

console.log(typeof window)      // object
console.log(window.outerWidth)  // 1920

windowのプロパティ例

プロパティ 説明
name ウィンドウの名前を設定
screenX ウィンドウのx軸方向の位置
screenY ウィンドウのy軸方向の位置
outerWidth ウィンドウの幅
outerHeight ウィンドウの高さ

グローバル変数を用意した場合windowオブジェクトのプロパティとしてアクセスが可能になる

var x = 15; console.log(x)   // 15 
console.log(window.x)        // 15 
console.log(x === window.x); // true

windowの表記を省略することも可能
windowはグローバルオブジェクトのプロパティでありグローバルオブジェクトの参照を持つ
自己参照であるため以下のような振る舞いを起こす

// chromeのdeveloper toolsのConsole上で確認することができる
window === window.window        //true
window === window.window.window //true
window === this                 //true
window === window.self          //true

これは実質的に以下のように書いた物と同等で

var global = this;
print('global' in this); // true

グローバル変数globalはグローバルオブジェクトを参照するthisを参照しているため
globalはグローバルオブジェクトのプロパティであると同時にグローバルオブジェクトの参照を持つ自己参照である

参考

Share

最近の投稿

NetlifyのSplit TestingとFunctionsについて使い方をまとめる Split TestingはGitHubのブランチをベースにしたA/Bテストを行うための機能のことで、FunctionsはNetlifyでAWS Lambdaを使うことができる

NetlifyとはHTMLなどの静的コンテンツのみで構成されたWebサイトを閲覧できる形で配信するWebサービス GitHubやBitbucket、GitLabなどと連携して使うことができて、リポジトリにプッシュすることで自動でCI/CDを行うことができる、無料枠が豊富で独自ドメインを設定可能

WordPressからJekyll(GitHub Pages)に移行した手順をまとめる。 お金的な事情や使いやすさなどの理由で無料のJekyll+GitHub Pagesに移行した。JekyllとはMarkdown等から静的ページを生成する静的サイトジェネレータ

Scala開発のためにScalaらしさをまとめる 言語設計者の設計思想を元にScalaらしさについてまとめる オブジェクト指向と関数型の融合について

StorybookとはUI開発環境を提供するツール React、React Native、Angular、Vueなどをサポートしている ユーザーは独立した開発環境でコンポーネントを個別に作成して挙動の確認をテストできたり、コンポーネントを一覧にしてカタログ化できるので他の人に紹介する時に使えたりする

カテゴリ一覧

タグ一覧