您好,登錄后才能下訂單哦!
JavaScript的兩大類內建數據類型是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
JavaScript的數據類型在大的方向上分為兩類:1)primitive types and 2)object tyeps。
其一 primitive types包括常規的 numbers,string, booleans 以及特殊類型的 null 和 undefined。而且以上五類都是immutuable types;
其二,object types 包括object,以及特殊類型的object即array。其他比如 Set,Map,typed array, RegExp and Date types.
一、Numbers
Numeric literal 表示 十六進制,二進制和八進制:
//integer literals > 0xff 255 > 0b1011 11 > 0o377 255 > 377 377 //floating-point literals undefined > 6.02e23 6.02e+23 > 1.47e-23 1.47e-23 //Arithmetic Math.hypo //Infinity Infinity // A positive number too big to represent Number.POSITIVE_INFINITY // Same value 1/0 // => Infinity Number.MAX_VALUE * 2 // => Infinity; overflow -Infinity // A negative number too big to represent Number.NEGATIVE_INFINITY // The same value -1/0 // => -Infinity -Number.MAX_VALUE * 2 // => -Infinity NaN // The not-a-number value Number.NaN // The same value, written another way 0/0 // => NaN Infinity/Infinity // => NaN Number.MIN_VALUE/2 // => 0: underflow -Number.MIN_VALUE/2 // => -0: negative zero -1/Infinity // -> -0: also negative 0 -0 // The following Number properties are defined in ES6 Number.parseInt() // Same as the global parseInt() function Number.parseFloat() // Same as the global parseFloat() function Number.isNaN(x) // Is x the NaN value? Number.isFinite(x) // Is x a number and finite? Number.isInteger(x) // Is x an integer? Number.isSafeInteger(x) // Is x an integer -(2**53) < x < 2**53? Number.MIN_SAFE_INTEGER // => -(2**53 - 1) Number.MAX_SAFE_INTEGER // => 2**53 - 1 Number.EPSILON // => 2**-52: smallest difference between numbers // 浮點數 18,437,736,874,454,810,627 只有這么多浮點數,能被表示出來。 // rouding problems //BigInt //Date and time let timestamp = Date.now(); // The current time as a timestamp (a number). let now = new Date(); // The current time as a Date object. let ms = now.getTime(); // Convert to a millisecond timestamp. let iso = now.toISOString(); // Convert to a string in standard format.
二、String and Text
// 1.string literals // 2.escape sequences // 3.string methods // 4.template literals (tagged template literals) // 5.Pattern Matching /[1-9][0-9]*/;
三、Boolean Values
只有 true 和 false 這兩項。
四、null and undefined
> typeof(null) 'object'
五、Symbols
let s = Symbol.for("shared"); let t = Symbol.for("shared"); s === t // => true s.toString() // => "Symbol(shared)" Symbol.keyFor(t) // => "shared"
六、Global
Global constants like undefined, Infinity, and NaN
Global functions like isNaN(), parseInt() (§3.9.2), and eval() (§4.12)
Constructor functions like Date(), RegExp(), String(), Object(), and Array() (§3.9.2)
Global objects like Math and JSON (§6.8)
七、Immutable Primitives and Mutable Object Referece
> function equalArray(a, b) { ... if (a === b) return true; ... if (a.length !== b.length) return false; ... for (let i = 0; i < a.length; i++) { ..... if (a[i] !== b[i]) return false; ..... } ... return true; ... }
八、Type Conversions
implicite conversion and explicite conversions
九、Variable Declaration and Assignment
// Destructuring Assignment [x,y] = [x+1,y+1]; // Same as x = x + 1, y = y + 1 [x,y] = [y,x]; // Swap the value of the two variables // Same as const sin=Math.sin, cos=Math.cos, tan=Math.tan const {sin, cos, tan} = Math; //此處與python的用法完全一致。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。