基本类型
基本类型
vino
提供了6种基本类型
类型名称 | 类型 | 说明 |
---|---|---|
string | 基本 | 字符串 |
int | 基本 | 整型(64位) |
float | 基本 | 浮点型(64位) |
bigint | 基本 | 大整数 |
boolean | 基本 | 布尔类型 |
null | 基本 | 空类型 |
string
字符串支持双引号、单引号、反引号。
//声明字符串变量
let a = "123abc";
//声明整数常量
const b = '123abc';
//反引号
let c = `123abc`;
//模板字符串
let d = `abc${c}`; //结果是:abc123abc
int
int
类型使用 64 位来存储数据。int
是有符号整数类型,这意味着它可以存储正数、负数和零。
精度相同的其他语言:
- Java中的
long
- Golang中的
int64
- 最小值: -9,223,372,036,854,775,808
- 最大值: 9,223,372,036,854,775,807
变量声明
vino
通过字面量来创建int
类型的变量,提供了以下4种方式:
- 整数表示
整数通过0-9之间的数字字面量来创建整数
//整型
let b = 12;
- 二进制表示
二进制数字以 0b
或 0B
开头。
//二进制
let n = 0b101010;
//打印42
console.log(n)
- 八进制表示
八进制数字以 0o
或 0O
开头。
//八进制
let n = 0o52;
//打印42
console.log(n)
- 十六进制表示
十六进制数字以 0x
或 0X
开头。
//十六进制
let n = 0xFF;
//打印255
console.log(n)
属性与方法
名称 | 类型 | 参数 | 返回值 | 说明 |
---|---|---|---|---|
toString | 方法 | radix?:int | string | 将数字转换为指定基数(进制)的字符串表示 |
toString
toString()方法可以将一个数字转换成其字符串表示形式。这个方法是非常灵活的,因为它允许你指定基数(进制),从而可以将数字转换为不同进制的字符串表示。
语法
num.toString(radix?:int)
- radix(可选):用于指定数字的基数。radix的值可以是2到36之间的整数,允许你将数字转换为二进制、八进制、十进制、十六进制或任何其他小于或等于36的基数的字符串表示。。
返回值
返回一个字符串
示例
let num = 10;
console.log(num.toString(2)); // 转换为二进制,输出: "1010"
console.log(num.toString(8)); // 转换为八进制,输出: "12"
console.log(num.toString(10)); // 转换为十进制,输出: "10"
console.log(num.toString(16)); // 转换为十六进制,输出: "a"
注意事项
- 默认行为:如果不提供radix参数,toString()方法默认使用十进制。
- 范围:radix参数的有效范围是2到36。这个范围之外的值会导致RangeError。
- 特殊数值:对于特殊的数值,如Infinity、-Infinity和NaN,toString()会返回相应的字符串表示,如"Infinity"、"-Infinity"和"NaN"。
- 零的特殊情况:零在所有进制中都表示为"0"。
float
float
类型是采用了IEEE 754
标准的双精度浮点数类型,它占据 64 位(8 字节)内存空间,精度为:−263 到 2 63−1 。
精度相同的其他语言:
- Java中的
double
- Golang中的
float64
- Nodejs中的
number
- Python中的
float
- 最小值: -1.7976931348623157e+308
- 最大值: 1.7976931348623157e+308
变量声明
vino
通过字面量来创建float
类型的变量,提供了以下3种方式:
- 浮点数表示
整数通过0-9之间的数字和小数点.
字面量来创建整数
//浮点型
let a = 12.1;
- 整数表示
// 整数+f
let a = 21f;
- 指数表示
指数表示法用于表示非常大的或非常小的数字,使用 e 或 E 表示乘以 10 的多少次方。
//指数
let n = 4.2e-2;
//打印0.042
console.log(n)
属性与方法
名称 | 类型 | 参数 | 返回值 | 说明 |
---|---|---|---|---|
toFixed | 方法 | digits?: int | string | 将数字格式化为指定小数位数的字符串 |
toExponential | 方法 | fractionDigits?:int | string | 将数字格式化为指数表示法 |
toPrecision | 方法 | precision?:int | string | 根据指定的精度将数字格式化为字符串 |
toFixed
toFixed()方法用于将数字格式化为指定小数位数的字符串表示形式。这个方法对于处理货币和其他需要固定小数点表示的数值特别有用
语法
num.toFixed(digits?:int);
- digits(可选):小数点后数字的个数,介于0到20(包含0和20)之间的值。如果省略该参数或其值为0,则返回的字符串只包含整数部分。
返回值
返回一个表示固定小数位数的字符串。如果原始数字的小数部分长度超过digits指定的长度,则四舍五入到最接近的值。
示例
let num = 123.456;
console.log(num.toFixed()); // 输出:"123"
console.log(num.toFixed(2)); // 输出:"123.46"
console.log(num.toFixed(4)); // 输出:"123.4560"
注意事项
- 如果数字非常大或非常小,使其格式化后的字符串表示形式包含指数部分,则toFixed方法会先将数字转换为非指数形式,然后再应用四舍五入。
- 如果digits参数超出了允许的范围,toFixed方法会抛出RangeError异常。
- 使用toFixed方法返回的字符串可以通过parseFloat()或Number()函数转换回数字类型,但可能会因四舍五入而失去精度。
toExponential
toExponential()方法用于将数字转换为指数表示法(也称为科学计数法)的字符串形式。这个方法对于表示非常大或非常小的数值特别有用,因为它可以简洁地表示这些数值,同时保持一定的精度。
语法
num.toExponential(fractionDigits);
- fractionDigits(可选):一个整数,指定结果字符串中小数点后的位数。这个值的范围通常是0到20(包括0和20),但是具体范围可能取决于浏览器的实现。如果省略了fractionDigits,则使用尽可能多的数字来表示数值。
返回值
返回一个表示数字的指数形式的字符串。这个字符串由数字的第一位、小数点、fractionDigits指定的小数位数、字母e或E(表示10的幂次方),以及指数部分组成
示例
let num = 123456;
console.log(num.toExponential()); // 输出:"1.23456e+05"
console.log(num.toExponential(2)); // 输出:"1.23e+05"
console.log(num.toExponential(4)); // 输出:"1.2346e+05"
注意事项
- 如果fractionDigits参数不在允许的范围内,toExponential()方法会抛出RangeError。
- toExponential()方法返回的字符串总是包含至少一个小数位,即使小数部分为0。
- 这个方法对于分析和显示非常大或非常小的数值非常有用,因为它允许保持一定的精度,同时以紧凑的形式表示数值
toPrecision
toPrecision() 方法提供了一种将数字格式化为指定长度的字符串的方式。这个方法接受一个参数,即所需的有效数字位数(包括整数位和小数位),并根据这个长度将数字转换为字符串表示。如果数字的位数超过了指定的精度,则该数字会被四舍五入到合适的长度。如果指定的精度能够包含整个数字,则会按照常规的数字方式显示,而不是科学记数法。如果精度参数未指定,那么toPrecision() 方法的行为类似于调用toString(),返回标准的十进制数字字符串
语法
num.toPrecision(fractionDigits);
- fractionDigits(可选):一个整数,指定结果字符串中小数点后的位数。这个值的范围通常是0到20(包括0和20),但是具体范围可能取决于浏览器的实现。如果省略了fractionDigits,则使用尽可能多的数字来表示数值。
返回值
返回一个表示数字的指数形式的字符串。这个字符串由数字的第一位、小数点、fractionDigits指定的小数位数、字母e或E(表示10的幂次方),以及指数部分组成
示例
let num = 12345.6789;
console.log(num.toPrecision()); // 不带参数,返回 "12345.6789"
console.log(num.toPrecision(2)); // 返回 "1.2e+4",数字以科学记数法表示,因为只指定了两位有效数字
console.log(num.toPrecision(6)); // 返回 "12345.7",四舍五入到6位有效数字
console.log(num.toPrecision(10)); // 返回 "12345.67890",原数字加上额外的零以达到10位有效数字
注意事项
- 如果toPrecision()调用时的参数超出了实现所能支持的范围(通常是1到21之间,包括端点),则会抛出RangeError。
- 当参数为0时也会抛出RangeError,因为至少需要一个有效数字。
- toPrecision()方法对于特别大或特别小的数字可能会自动使用科学记数法,即使指定的有效数字位数足以用常规表示法表示数字。
bigint
bigint
类型表示任意精度的整数,不会受到固定位数限制,因此没有最大或最小值。
精度相同的其他语言:
- Java中的
BigInteger
- Golang中的
big.Int
- Nodejs中的
BigInt
- Python中的
int
- 十进制表示
let a = 1234567890123456789012345678901234567890n;
- 二进制表示
二进制数字以 0b
或 0B
开头。
//二进制
let n = 0b101010n;
//打印42n
console.log(n)
- 八进制表示
八进制数字以 0o
或 0O
开头。
//八进制
let n = 0o52n;
//打印42n
console.log(n)
- 十六进制表示
十六进制数字以 0x
或 0X
开头。
//十六进制
let n = 0xFFn;
//打印255n
console.log(n)
属性与方法
名称 | 类型 | 参数 | 必须 | 返回值 | 说明 |
---|---|---|---|---|---|
toString | 方法 | radix?:int | 否 | string | 将数字转换为指定基数(进制)的字符串表示。默认基数10(十进制) |
toString
toString()方法可以将一个数字转换成其字符串表示形式。这个方法是非常灵活的,因为它允许你指定基数(进制),从而可以将数字转换为不同进制的字符串表示。
语法
num.toString([radix]);
- radix(可选):用于指定数字的基数。radix的值可以是2到36之间的整数,允许你将数字转换为二进制、八进制、十进制、十六进制或任何其他小于或等于36的基数的字符串表示。
返回值
返回一个字符串
示例
let num = 10n;
console.log(num.toString(2)); // 转换为二进制,输出: "1010"
console.log(num.toString(8)); // 转换为八进制,输出: "12"
console.log(num.toString(10)); // 转换为十进制,输出: "10"
console.log(num.toString(16)); // 转换为十六进制,输出: "a"
注意事项
- 默认行为:如果不提供radix参数,toString()方法默认使用十进制。
- 范围:radix参数的有效范围是2到36。这个范围之外的值会导致
RangeError
。 - 特殊数值:对于特殊的数值,如
Infinity
、-Infinity
和NaN
,toString()会返回相应的字符串表示,如"Infinity"、"-Infinity"和" NaN"。 - 零的特殊情况:零在所有进制中都表示为"
0
"。
boolean
布尔类型
let a = true;
let b = false;
null
空值类型
let a = null;