JavaScript的两大类内建数据类型
应用开发 2025-10-07 08:43:11
0
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"六、云南idc服务商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的用法完全一致。【编辑推荐】
2021年比较适合用于Web开发的7种编程语言 为什么用Eclipse,VS Code不香吗? 权威数据来了,中国到底有多少个程序员? 10个实用的工具类网站你收藏了吗? 在2021年,可能会是前景比较好的源码下载五门编程语言