JSの基本に戻る
10011 ワード
私が戻って&JSコアの概念のnitty gritties再訪としてこれらは私のノートです.
JavaScriptデータ型
JavaScriptの値は常に特定の型(Ex : Number)です-データ型は特定の値の振舞いを決定する属性とそれがどのように扱われるか(Ex : 1対“1”)です.これは、異なる演算子がどのように値を扱うかにも影響します.
JavaScriptは動的な言語であるかloloely型になっているので、変数はどんな型とも関連しません.つまり、同じ変数を別の型の新しい値に再割り当てすることができます.
6プリミティブ:番号、文字列、ブール、未定義、bigint、シンボル.プリミティブデータ値は、単一の単純なデータ値です.追加のプロパティとメソッドはありません.
2構造:オブジェクトと機能.objectはプロパティのコレクションであり、プロパティは名前(またはキー)と値の間の関連付けです.プロパティの値は関数でありえます.この場合、プロパティはメソッドとして知られています.配列、正規表現、日付などはすべて異なるオブジェクトです.
関数はサブタイプのオブジェクトのようです.
1原始の特別な種類:NULL. 両方
この記事はプリミティブ型をカバーします
NULLと未定義
特異性
数≠ 整数( 1 , 1.0 , 1 . JS内のすべての' number 'です.数値メソッドを呼び出すときに重要です).
浮動小数点演算は常に100 %正確ではない
NaN(数ではない):両方のオペランドが数字(または数に強制されない値)でないどんな数学的な操作も無効な数をもたらします.そして、NaN値を与えます.
型変換と強制
js変数は別のデータ型に変換できます. JavaScript関数の使用-私たちは異型に別のタイプに変換します.(例: 値の自動または暗黙の変換- jsは予期しないデータ型に不正な型を強制します.(例: 3つの可能な変換があります. 結ぶ 数える boolean
1 .文字列
2 .番号
算術演算では、数値への暗黙の変換が行われます(文字列への変換を行う場合は+を除いて).それは有効な番号ではないかもしれません-再びNaNは数のサブタイプです!
文字列の明示的な変換では、startとendからの空白文字が削除されます.
異なるタイプの値を比較するとき、数値への暗黙の変換があります.我々はすぐに比較を訪問します.
3 . boolean 0のように直観的に「空」である値、空の文字列、null、undefined、およびfalseになります.
他のすべてはtrueです
比較( LOW ' == VS vs strict = = = '等値)
前述の通り.
厳密な等値演算子
You-Dont-Know-JS/types & grammar
MDN: JavaScript data types and data structures
https://javascript.info/
JavaScriptデータ型
JavaScriptの値は常に特定の型(Ex : Number)です-データ型は特定の値の振舞いを決定する属性とそれがどのように扱われるか(Ex : 1対“1”)です.これは、異なる演算子がどのように値を扱うかにも影響します.
JavaScriptは動的な言語であるかloloely型になっているので、変数はどんな型とも関連しません.つまり、同じ変数を別の型の新しい値に再割り当てすることができます.
var x = 5; //x is a number
x = "Hello world" //x is now a string
基本的には9種類のデータ型があります6プリミティブ:番号、文字列、ブール、未定義、bigint、シンボル.プリミティブデータ値は、単一の単純なデータ値です.追加のプロパティとメソッドはありません.
2構造:オブジェクトと機能.objectはプロパティのコレクションであり、プロパティは名前(またはキー)と値の間の関連付けです.プロパティの値は関数でありえます.この場合、プロパティはメソッドとして知られています.配列、正規表現、日付などはすべて異なるオブジェクトです.
関数はサブタイプのオブジェクトのようです.
null
存在しないか無効なオブジェクトまたはアドレスに意図的に指す原始的なデータ型の特別なインスタンスです.null
and undefined
値を保持できません.この記事はプリミティブ型をカバーします
null
)NULLと未定義
undefined
変数が宣言されているが、まだ値が割り当てられていないことを意味します.(** *未宣言* varは対照的に、まだ宣言されていないもので、リファレンスエラー*を返します).null
null、空、または存在しない参照を表します.それは空白のオブジェクトリファレンスです.特異性
Number
数≠ 整数( 1 , 1.0 , 1 . JS内のすべての' number 'です.数値メソッドを呼び出すときに重要です).
console.log(1.toPrecision( 6)) // Uncaught SyntaxError
console.log(1..toPrecision( 6)) //4.00000
理想的には、変数に値を代入し、それからVARにアクセス機能を割り当てます.浮動小数点演算は常に100 %正確ではない
console.log(0.1 + 0.2) //0.30000000000000004
NaN(数ではない):両方のオペランドが数字(または数に強制されない値)でないどんな数学的な操作も無効な数をもたらします.そして、NaN値を与えます.
console.log(5 - '123' ) // -118
console.log(5 - '12 3' ) // NAN
NaNは別のNaN値とは決して等しくないという点で非常に特別な値です.
console.log(NaN == NaN) //false
型変換と強制
js変数は別のデータ型に変換できます.
String(123)
) 2*"2"
) 1 .文字列
String()
or toString()
関数は明示的に文字列に変換できる.すべてのプリミティブは期待通りに文字列型に変換されます.String(123) → '123'
String(true) → 'true'
String(null) → 'null'
String(undefined) → 'undefined'
暗黙の強制はバイナリ演算子によって引き起こされます.'a'+2 //a2
注意: +文字列連結は可換です.EX :'$' + 4 + 5
が' 45ドル'を与える4 + 5 + '$'
' 9 $ 'を与える2 .番号
算術演算では、数値への暗黙の変換が行われます(文字列への変換を行う場合は+を除いて).それは有効な番号ではないかもしれません-再びNaNは数のサブタイプです!
typeof(5 + true); //number
typeof("6a"*"2"); //number
typeof(5 - '12'); //number
空の文字列、空の配列は0になります.true
は1ですfalse
は0です.Number(' 123 ') // 123
Number('12 3') // NaN
3 . boolean
他のすべてはtrueです
If
文:論理演算子(加月& amp ;)はboolean値を返さない.
a||0; [//a](//a)
ある状態で使用されるときif
文には、boolean型への暗黙の保理があります.比較( LOW ' == VS vs strict = = = '等値)
前述の通り.
==
必要に応じて型強制型の数値を使用します.厳密な等値演算子
===
型変換のない等値をチェックします.つの値が異なる型の場合、a === b
すぐにfalseを返します.console.log('0' == 0) //true
console.log('0' == false); //true
console.log('0' === false); //false
Number(null)
& Number(undefined)
は0とNaNです.したがって、それらは等しくありません.null==undefined // false
ソースYou-Dont-Know-JS/types & grammar
MDN: JavaScript data types and data structures
https://javascript.info/
Reference
この問題について(JSの基本に戻る), 我々は、より多くの情報をここで見つけました https://dev.to/poulamic/back-to-js-basics-types-coercion-cmbテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol