JavaScript

【JavaScript】関数スコープとブロックスコープ

概要 ES6以前は、JavaScriptの変数はvarで宣言することのみが可能でした。ES6以降はletとconstを加えて、3種類で変数を宣言することが可能となりました。本記事では、これらを使って宣言した変数が関数スコープとブロックスコープでどのような違いがあるかを記載します。 関数スコープ 関数内でvarを使用して宣言した変数は、関数外で使用するとエラーとなります。 ブロックスコープ ifやf […]

【JavaScript】==と===の違いおよび型のチェック方法

概要 本記事では、JavaScriptにおける比較演算子の==と===の違い、および変数の型をチェックする方法を記載します。 ==と===の違い ==と===の違いとしては、簡単に言うと===の方が値だけでなく型まで含めて等しいかをチェックするのに対して、==では暗黙的な型変換により型を合わせた上で等しいかをチェックするという部分になります。下記に具体例を記載します。 また、別の記事で記載しており […]

【JavaScript】暗黙的、明示的な型変換

概要 JavaScriptの型変換には、暗黙的と明示的があります。具体的には、Number(value)のような関数が明示的な変換にあたります。暗黙的な変換は、異なる型をオペランドでつなぐ処理でどちらかの型に合わせるように変換するようなものとなります。例えば、Stringは数値を期待されるような場合にはNumber型に変換されます。なので、JavaScriptでは型の不正による予期せぬエラーはほと […]

【JavaScript】値型と参照型 (Value Types and Reference Types)

概要 本記事ではJavaScriptにおける値型(Value Types)と参照型(Reference Types)の違いを簡単に整理します。 値型(Value Types) Number,Boolean,String,null,undefined,Symbolはプリミティブ型であり関数へは全て値型で渡されます。ここでのポイントは、Stringが値型で渡させるということとなります。他の言語では、S […]

【JavaScript】プリミティブ型

概要 本記事は、JavaScriptにおけるプリミティブ型にはどのようなものがあるかを整理したものとなります。 プリミティブ型とは プリミティブ型とは、プログラミング言語の仕様に用意されている最も基本的なデータ型となります。 JavaScriptにおけるプリミティブ型 JavaScriptにおけるプリミティブ型には、下記の種類があります。 Boolean type Null type Undefi […]

【JavaScript】コールスタックとは

概要 本記事では、JavaScriptのコンセプトであるコールスタックについて整理します。 コールスタックとは コールスタックは、JavaScirptを実行するインタプリタ(WebブラウザのJavaScriptインタプリタなど)が複数の関数を呼び出すスクリプト内の場所を追跡するためのメカニズムです。 JavaScriptの実行は、基本的にはシングルスレッドによるヒープと単一のスタック呼び出しから構 […]