你的大可爱已上线 发表于 2023-7-8 02:14:25

数据类型

## 常用数据类型1. 常用的数据类型及其描述:| 数据类型   | 描述                                                                                    || ----------- | ----------------------------------------------------------------------------------------- || `undefined` | 表示变量未定义或未赋值的特殊值。                                                          || `null`      | 表示一个空值。                                                                        || `boolean`   | 表示逻辑值,只有两个可能的值:`true`(真)和`false`(假)。                                 || `number`    | 表示数值,可以是整数或浮点数,例如`42`或`3.14`。                                           || `string`    | 表示文本字符串,例如`"Hello, world!"`。                                                    || `symbol`    | 在ECMAScript 6中引入的新类型,表示唯一的、不可变的值。每个`symbol`都是独一无二的。         || `object`    | 表示复杂数据结构,可以包含多个键值对。对象可以是数组、函数、日期等等。                     |2. 特殊的内置对象类型:| 数据类型       | 描述                                                                               || ------------- | ---------------------------------------------------------------------------------- || `Array`       | 表示有序的集合,可以包含任意类型的数据。                                             || `Function`    | 表示可执行的代码块,可以接受参数并返回值。                                           || `Date`      | 表示日期和时间。                                                                   || `RegExp`      | 表示正则表达式,用于匹配和操作字符串。                                             || `Map`         | 表示键值对的集合,其中键和值可以是任意类型的数据。                                     || `Set`         | 表示一组唯一值的集合,其中值可以是任意类型的数据。                                     || `Promise`   | 表示一个异步操作的最终完成或失败的结果。                                             || `Error`       | 表示在运行时发生的错误,可以捕获并处理。                                             || `Math`      | 提供了一组数学相关的函数和常量。                                                   || `JSON`      | 提供了用于解析和序列化JSON数据的方法。                                             || `Math`      | 提供了一组数学相关的函数和常量。                                                   || `Math`      | 提供了一组数学相关的函数和常量。                                                   || `Math`      | 提供了一组数学相关的函数和常量。                                                   || `Math`      | 提供了一组数学相关的函数和常量。                                                   || `Math`      | 提供了一组数学相关的函数和常量。                                                   |## 判断方法1. 使用`typeof`操作符:`typeof`可以用于判断大多数基本数据类型(除了`null`和`object`)。   ```javascript   typeof undefined;// "undefined"   typeof null;       // "object"   typeof true;       // "boolean"   typeof 42;         // "number"   typeof "Hello";    // "string"   typeof Symbol();   // "symbol"   typeof {};         // "object"   ```2. 使用`instanceof`操作符:`instanceof`可以用于判断一个对象是否属于某个特定类型或类的实例。   ```javascript   [] instanceof Array;         // true   {} instanceof Object;          // true   new Date() instanceof Date;    // true   /regex/ instanceof RegExp;   // true   ```3. 使用`Array.isArray()`函数:`Array.isArray()`用于检查一个值是否为数组类型。   ```javascript   Array.isArray([]);    // true   Array.isArray({});    // false   ```4. 使用`Object.prototype.toString.call()`方法:这种方法可以在所有的数据类型上使用,但需要注意传入的值必须是对象。   ```javascript   Object.prototype.toString.call(undefined);    // ""   Object.prototype.toString.call(null);         // ""   Object.prototype.toString.call(true);         // ""   Object.prototype.toString.call(42);         // ""   Object.prototype.toString.call("Hello");      // ""   Object.prototype.toString.call(Symbol());   // ""   Object.prototype.toString.call({});         // ""   ```## 类型转换**隐式转换**:隐式转换是在操作中自动发生的类型转换,不需要显式地指定转换操作。以下是一些常见的隐式转换情况:1. 字符串和数字之间的隐式转换:   - 字符串转换为数字:发生在算术运算或比较操作中。   - 数字转换为字符串:发生在字符串拼接或某些上下文中,如`console.log()`输出。2. 布尔值的隐式转换:   - 非零数字、非空字符串、非空数组等被视为`true`,`0`、`''`、`null`、`undefined`、`NaN`、`false`等被视为`false`。3. 其他类型之间的隐式转换:   - 数字和布尔值之间的转换:`true`转换为`1`,`false`转换为`0`。   - 字符串和布尔值之间的转换:`true`转换为`'true'`,`false`转换为`'false'`。**显式转换**:1. 转换为字符串:   - 使用`String()`函数或`.toString()`方法。   - 示例:`String(42)`或`42.toString()`。2. 转换为数字:   - 使用`Number()`函数、`parseInt()`函数或`parseFloat()`函数。   - 示例:`Number('42')`、`parseInt('42')`或`parseFloat('3.14')`。3. 转换为布尔值:   - 使用`Boolean()`函数。   - 示例:`Boolean(0)`、`Boolean('')`。4. 转换为数组:   - 使用`Array.from()`方法将类数组对象或可迭代对象转换为数组。   - 示例:`Array.from('hello')`。## 创建方法| 数据类型   | 创建方式                                                   | 相关方法                                                   || --------- | ------------------------------------------------------------ | ---------------------------------------------------------- || `undefined` | 通过未定义或未赋值的变量创建                                 |                                                          || `null`      | 直接使用`null`关键字创建                                     |                                                          || `boolean`   | 使用`true`或`false`关键字创建                                 |                                                          || `number`    | 直接使用数字创建,可以是整数或浮点数                        | `Number.parseInt()`、`Number.parseFloat()`               || `string`    | 使用单引号、双引号或反引号括起来的字符序列                  | 字符串对象的方法,如`toUpperCase()`、`substring()`      || `symbol`    | 使用`Symbol()`函数创建唯一的符号                           |                                                          || `object`    | 使用对象字面量 `{}` 创建,或使用构造函数创建                   | 对象的属性和方法,`Object`的方法,如`Object.keys()`      || `Array`   | 使用数组字面量 `[]` 或通过`Array`构造函数创建               | 数组对象的方法,如`push()`、`pop()`、`slice()`         || `Function`| 使用函数声明或函数表达式创建                                 | 函数对象的方法,如`call()`、`apply()`                  || `Date`      | 使用`new Date()`构造函数创建                                 | 日期对象的方法,如`getFullYear()`、`getMonth()`          || `RegExp`    | 使用正则表达式字面量 `/pattern/` 或通过`RegExp`构造函数创建   | 正则表达式对象的方法,如`test()`、`exec()`                || `Map`       | 使用`new Map()`构造函数创建                                  | `Map`对象的方法,如`set()`、`get()`、`has()`            || `Set`       | 使用`new Set()`构造函数创建                                  | `Set`对象的方法,如`add()`、`has()`、`delete()`         || `Promise`   | 使用`new Promise()`构造函数创建                              | `then()`、`catch()`、`finally()`                        || `Error`   | 使用`throw`关键字抛出错误                                 | 错误对象的属性和方法,如`message`属性和`stack`属性,`try-catch`块捕获和处理错误 |
来源:https://www.cnblogs.com/shuangyou99/p/shu-ju-lei-xing.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 数据类型