javascriptデータタイプと基本文法が見落としやすい点
1859 ワード
データの種類
Number
JavaScriptは整数と浮動小数点を区別せず、統一的にNumberで表します.以下は合法的なNumberタイプです.
JavaScriptは任意のデータタイプを比較することができます.
nullとundefined
nullは「空」の値を表します.0と空の文字列''は違い、0は数値です.''は長さが0の文字列を表し、nullは「空」を表します.
JavaScriptの設計者はnullで空の値を表したいですが、undefinedは値が定義されていません.これは卵用というほどのものではなく、両者を区別する意味は大きくないことが証明されました.ほとんどの場合、私たちはnullを使うべきです.undefinedは、関数パラメータが伝達されているかどうかを判断する場合にのみ有用である.
変数について
ストリップモード
JavaScriptは設計の初めに、初心者の学習を便利にするために、強制的にvarで変数を説明することを要求しません.この設計ミスは重大な結果をもたらしました.一つの変数がvar申明を通らないと使用されます.この変数は自動的にグローバル変数として登録されます.
var申明を使用する変数は大域変数ではなく、その範囲はこの変数が申明される関数の中に制限され、同名の変数は異なる関数の中で互いに衝突しない.実際のプロジェクト開発では、できるだけ局所変数を使用します.
JavaScriptという深刻な設計上の欠陥を修正するために、ECMAは後続の規範においてstritモードを導入し、stritモードで動作するJavaScriptコードは、varによって変数を説明することを強制され、var申明変数を使用しないで使用され、運行エラーを引き起こします.
strictモードを有効にする方法は、JavaScriptコードの最初の行に記入します.
参考資料:廖雪峰の公式サイト:https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000
Number
JavaScriptは整数と浮動小数点を区別せず、統一的にNumberで表します.以下は合法的なNumberタイプです.
NaN;// NaN Not a Number, NaN
Infinity;// Infinity , JavaScript Number , Infinity
比較演算子JavaScriptは任意のデータタイプを比較することができます.
false==0;//true
false===0;//false
最初の==比較は、データの種類を自動的に変換して比較します.使用を避けることを勧めます.必要でないトラブルを減らすことができます.第二の==比較は、データの種類を自動的に変換しません.まずデータの種類を比較し、不一致でfalseに戻ります.一致すれば、値が同じかどうかを引き続き比較します.【NaN】この特殊なNumberは他のすべての値と同じではありません.NaN === NaN; // false
NaNを一意に判断できる方法はisNaN()関数によるものです.isNaN(NaN); // true
【注】浮動小数点の等しい比較:1 / 3 === (1 - 2 / 3); // false
念のため、浮動小数点タイプの比較と演算を行う場合は、整数型に変換することができます.整数型に変換して比較したほうがいいです.nullとundefined
nullは「空」の値を表します.0と空の文字列''は違い、0は数値です.''は長さが0の文字列を表し、nullは「空」を表します.
JavaScriptの設計者はnullで空の値を表したいですが、undefinedは値が定義されていません.これは卵用というほどのものではなく、両者を区別する意味は大きくないことが証明されました.ほとんどの場合、私たちはnullを使うべきです.undefinedは、関数パラメータが伝達されているかどうかを判断する場合にのみ有用である.
変数について
ストリップモード
JavaScriptは設計の初めに、初心者の学習を便利にするために、強制的にvarで変数を説明することを要求しません.この設計ミスは重大な結果をもたらしました.一つの変数がvar申明を通らないと使用されます.この変数は自動的にグローバル変数として登録されます.
i = 10; // i
同じページの異なるJavaScriptファイルにおいて、varで説明しないと、変数iがちょうど使用され、変数iが相互に影響し、調整が困難なエラー結果が発生します.var申明を使用する変数は大域変数ではなく、その範囲はこの変数が申明される関数の中に制限され、同名の変数は異なる関数の中で互いに衝突しない.実際のプロジェクト開発では、できるだけ局所変数を使用します.
JavaScriptという深刻な設計上の欠陥を修正するために、ECMAは後続の規範においてstritモードを導入し、stritモードで動作するJavaScriptコードは、varによって変数を説明することを強制され、var申明変数を使用しないで使用され、運行エラーを引き起こします.
strictモードを有効にする方法は、JavaScriptコードの最初の行に記入します.
'use strict';
これは文字列です.stritモードをサポートしていないブラウザは文字列文として実行します.stritモードをサポートするブラウザはstritモードを開いてJavaScriptを実行します.参考資料:廖雪峰の公式サイト:https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000