ホームページ > 記事 > ウェブフロントエンド > Javascriptで注意すべき設計(一部を整理)
私は最近 avascript をレビューしています。この素晴らしい JS は非常に強力な人物によって 10 日間で開発されたものなので、必ずいくつかの設計上の欠陥が存在します。学習しながら要約して、これらの落とし穴をスキップしましょう。
1. 演算子 == と ===
等価演算子 ==
に特に注意してください。 JavaScript の設計時には、2 つの比較演算子があります: ==
。JavaScript在设计时,有两种比较运算符:
第一种是==
比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;
第二种是===
比较,它不会自动转换数据类型,如果数据类型不一致,返回false
,如果一致,再比较。
由于JavaScript这个设计缺陷,不要使用==
比较,始终坚持使用===
比较。
2. NaN
NaN表示Not a Number,当无法计算结果时用NaN表示
NaN
这个特殊的Number与所有其他值都不相等,包括它自己
NaN === NaN; // false
唯一能判断NaN
的方法是通过isNaN()
函数:
isNaN(NaN); // true
3. null和undefined
null
表示一个“空”的值,它和0
以及空字符串''
不同,0
是一个数值,''
表示长度为0的字符串,而null
表示“空”。
在其他语言中,也有类似JavaScript的null
的表示,例如Java也用null
,Swift用nil
,Python用None
表示。但是,在JavaScript中,还有一个和null
类似的undefined
,它表示“未定义”。
JavaScript的设计者希望用null
表示一个空的值,而undefined
表示值未定义。事实证明,这并没有什么卵用,区分两者的意义不大。大多数情况下,我们都应该用null
。undefined
仅仅在判断函数参数是否传递的情况下有用
4. 数组
数组是一组按顺序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型。例如:
[1, 2, 3.14, 'Hello', null, true];
初始化数组:
var array1 = new Array()
var array1 = []
var array1 = new Array(10)
5. 对象
JavaScript的对象是一组由键-值组成的无序集合
var person = { name: 'Bob', age: 20, tags: ['js', 'web', 'mobile'], city: 'Beijing', hasCar: true, zipcode: null };
JavaScript对象的键都是字符串类型,值可以是任意数据类型。上述person
对象一共定义了6个键值对,其中每个键又称为对象的属性,例如,person
的name
属性为'Bob'
,zipcode
属性为null
。
要获取一个对象的属性,我们用对象变量.属性名
==
比較で、データ型を自動的に変換してから比較します。多くの場合、非常に奇妙な結果が得られます。
2 番目のタイプは ===
比較で、データ型が一致しない場合は、false
が返されます。また。 JavaScript のこの設計上の欠陥のため、==
比較を使用せず、常に ===
比較に固執してください。
2. NaN person.name; // 'Bob'
person.zipcode; // null
NaN
この特別な数値は、それ自体を含む他のすべての値と等しくありません
NaN
を決定する唯一の方法は、 を使用することです。 isNaN()
関数:
3. null と未定義null
は、0
および null と同じ「空」の値を表します。文字列 ''
は異なります。0
は数値です。''
は長さ 0 の文字列を表します。null code> は「空」を意味します。
null
に似た表現があります。たとえば、Java では null
が使用され、Swift では nil
が使用されます。 なし
という意味を使用します。ただし、JavaScript には、「未定義」を意味する null
に似た unknown
もあります。 🎜🎜 JavaScript の設計者は、空の値を表すために null
を使用し、未定義の値を表すために unknown
を使用することを望んでいます。これが役に立たないことは事実が証明しており、この 2 つの違いはほとんど重要ではありません。ほとんどの場合、null
を使用する必要があります。 unknown
は、関数のパラメーターが渡されるかどうかを決定する場合にのみ役立ちます🎜🎜 4. 配列🎜🎜 配列とは、集合を順番に並べたもので、集合の各値を要素と呼びます。 JavaScript 配列には任意のデータ型を含めることができます。例: 🎜rrreee🎜配列を初期化します: 🎜🎜var array1 = new Array()🎜🎜var array1 = []🎜🎜var array1 = new Array(10) 🎜🎜5. オブジェクト 🎜🎜JavaScript オブジェクトはキーのセットです。 - 順序なしの値のコレクション🎜rrreee🎜 JavaScript オブジェクトのキーはすべて文字列型であり、値は任意のデータ型にすることができます。上記の person
オブジェクトは、合計 6 つのキーと値のペアを定義します。各キーはオブジェクトの属性とも呼ばれます。たとえば、person の <code>name
属性です。 は 'Bob'
で、zipcode
属性は null
です。 🎜🎜オブジェクトの属性を取得するには、オブジェクト変数.属性名
を使用します: 🎜rrreee🎜 関連記事: 🎜🎜JavaScriptを使用する際の注意点と基本構文_基礎知識🎜 🎜🎜🎜問題点Web フロントエンド デザインでは注意が必要です🎜🎜🎜関連ビデオ: 🎜🎜🎜JavaScript デザイン パターンのビデオ チュートリアル🎜🎜以上がJavascriptで注意すべき設計(一部を整理)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。