👋

暗黙的な型変換

に公開
2

まずは、動的型付け言語と静的型付け言語の違いについて

動的型付け言語とは?

変数宣言時の型の宣言がなく、変数使用時の状況によって型変換が起こる言語のことです。
なお、JavaScriptは動的型付け言語となります。

静的型付け言語とは?

変数宣言時の型の宣言があり、変数使用時の状況がいかなる状況であっても、常に同じ変数の型を保持する言語のことです。

暗黙的な型変換って何?

変数が呼ばれたときの状況に合わせて変数の型が自動的に変換されることです。

では、データ型を確認する方法は?

typeof演算子を使用します。下のコードを実行すると、変数aはnumber型だと返ってきます。

let a = 0;

console.log(typeof a); // number

具体例をいくつか

  1. 数値と文字列の結合
    数値3が、自動的に文字列に型変換されて、文字列5の後ろに置かれます。
let result = "5" + 3; // resultは "53" になる
console.log(typeof result); // string
  1. 数値と真偽値(boolean)の結合
    trueは1、falseは0に暗黙的に変換されます。
let result = 1 + true; // resultは "2" になる
console.log(typeof result); // number
  1. 文字列と配列の結合
let array = [1, 2, 3];
let result = "配列: " + array; // resultは "配列: 1,2,3" になる
console.log(typeof result); // string
  1. 文字列とundefinedの結合
let result = "値は " + undefined; // resultは "値は undefined" になる
console.log(typeof result); // string

参考リンク

訂正させていただきました。ご指摘いただいた方、ありがとうございます。

Discussion

shiracamusshiracamus
let num = Number(str); // "20"の型は文字列ではなく整数になる

これは Number関数を使って「明示的」に型変換してると私は思います。

YusukeYusuke

本当ですね!訂正しておきます!
いつもいつもご指摘感謝です(^^)