JavaScript的两大类内建数据类型是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
平陆ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
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的用法完全一致。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。