基本类型

基本类型

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 是有符号整数类型,这意味着它可以存储正数、负数和零。

精度相同的其他语言:

  1. Java中的long
  2. Golang中的int64
  • 最小值: -9,223,372,036,854,775,808
  • 最大值: 9,223,372,036,854,775,807

变量声明

vino通过字面量来创建int类型的变量,提供了以下4种方式:

  • 整数表示

整数通过0-9之间的数字字面量来创建整数

//整型
let b = 12;
  • 二进制表示

二进制数字以 0b0B 开头。

//二进制
let n = 0b101010;
//打印42
console.log(n)
  • 八进制表示

八进制数字以 0o0O 开头。

//八进制
let n = 0o52;
//打印42
console.log(n)
  • 十六进制表示

十六进制数字以 0x0X 开头。

//十六进制
let n = 0xFF;
//打印255
console.log(n)

属性与方法

名称类型参数返回值说明
toString方法radix?:intstring将数字转换为指定基数(进制)的字符串表示

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"

注意事项

  1. 默认行为:如果不提供radix参数,toString()方法默认使用十进制。
  2. 范围:radix参数的有效范围是2到36。这个范围之外的值会导致RangeError。
  3. 零的特殊情况:零在所有进制中都表示为“0”。

int() 全局函数

int() 是一个全局类型转换函数,可将任意类型的值转换为 int 类型。

语法

int(value: any): int | float | NaN

转换规则

源类型转换结果
null0
int原值
float截断小数部分,转为整数。InfinityNaN保持为float
string解析为整数,包含小数时截断。空字符串返回0,无法解析返回NaN
booleantrue -> 1false -> 0
array空数组返回0,单元素数组递归转换,多元素数组返回NaN
bigint转为 int64,可能溢出

示例

console.log(int("123"));      // 输出: 123
console.log(int(3.14));       // 输出: 3
console.log(int(true));       // 输出: 1
console.log(int(false));      // 输出: 0
console.log(int(null));       // 输出: 0
console.log(int(""));         // 输出: 0
console.log(int("hello"));    // 输出: NaN

float

float类型是采用了IEEE 754标准的双精度浮点数类型,它占据 64 位(8 字节)内存空间,精度为:−263 到 2 63−1 。

点击查看IEEE 754的详细介绍

精度相同的其他语言:

  1. Java中的double
  2. Golang中的float64
  3. Nodejs中的number
  4. 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?: intstring将数字格式化为指定小数位数的字符串
toExponential方法fractionDigits?:intstring将数字格式化为指数表示法
toPrecision方法precision?:intstring根据指定的精度将数字格式化为字符串
toString方法radix?:intstring将数字转换为指定基数(进制)的字符串表示

toFixed

toFixed()方法用于将数字格式化为指定小数位数的字符串表示形式。这个方法对于处理货币和其他需要固定小数点表示的数值特别有用

语法

num.toFixed(digits?:int);
  • digits(可选):小数点后数字的个数,介于0到100(包含0和100)之间的值。如果省略该参数或其值为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"

注意事项

  1. 如果数字非常大或非常小,使其格式化后的字符串表示形式包含指数部分,则toFixed方法会先将数字转换为非指数形式,然后再应用四舍五入。
  2. 如果digits参数超出了允许的范围,toFixed方法会抛出RangeError异常。
  3. 使用toFixed方法返回的字符串可以通过parseFloat()或Number()函数转换回数字类型,但可能会因四舍五入而失去精度。

toExponential

toExponential()方法用于将数字转换为指数表示法(也称为科学计数法)的字符串形式。这个方法对于表示非常大或非常小的数值特别有用,因为它可以简洁地表示这些数值,同时保持一定的精度。

语法

num.toExponential(fractionDigits);
  • fractionDigits(可选):一个整数,指定结果字符串中小数点后的位数。这个值的范围是0到100(包括0和100)。如果省略了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"

注意事项

  1. 如果fractionDigits参数不在允许的范围内,toExponential()方法会抛出RangeError。
  2. toExponential()方法返回的字符串总是包含至少一个小数位,即使小数部分为0。
  3. 这个方法对于分析和显示非常大或非常小的数值非常有用,因为它允许保持一定的精度,同时以紧凑的形式表示数值

toPrecision

toPrecision() 方法提供了一种将数字格式化为指定长度的字符串的方式。这个方法接受一个参数,即所需的有效数字位数(包括整数位和小数位),并根据这个长度将数字转换为字符串表示。如果数字的位数超过了指定的精度,则该数字会被四舍五入到合适的长度。如果指定的精度能够包含整个数字,则会按照常规的数字方式显示,而不是科学记数法。如果精度参数未指定,那么toPrecision() 方法的行为类似于调用toString(),返回标准的十进制数字字符串

语法

num.toPrecision(precision);
  • precision(可选):一个整数,指定结果中有效数字的位数(包括整数位和小数位)。这个值的范围是0到100(包括0和100)。如果省略了precision,则返回标准的十进制数字字符串。

返回值

返回一个表示数字的字符串。根据指定的有效数字位数,可能以常规数字或科学记数法表示。

示例

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位有效数字

注意事项

  1. 如果toPrecision()调用时的参数超出了实现所能支持的范围(0到100之间,包括端点),则会抛出RangeError。
  2. toPrecision()方法对于特别大或特别小的数字可能会自动使用科学记数法,即使指定的有效数字位数足以用常规表示法表示数字。

float() 全局函数

float() 是一个全局类型转换函数,可将任意类型的值转换为 float 类型。

语法

float(value: any): float

转换规则

源类型转换结果
null0.0
int转为等值的浮点数
float原值
string解析为浮点数。空字符串返回0.0,无法解析返回NaN
booleantrue -> 1.0false -> 0.0
array空数组返回0.0,单元素数组递归转换,多元素数组返回NaN
bigint转为 float64,可能丢失精度

示例

console.log(float("3.14"));    // 输出: 3.14
console.log(float(42));        // 输出: 42
console.log(float(true));      // 输出: 1
console.log(float(null));      // 输出: 0
console.log(float(""));        // 输出: 0
console.log(float("hello"));   // 输出: NaN

bigint

bigint类型表示任意精度的整数,不会受到固定位数限制,因此没有最大或最小值。

精度相同的其他语言:

  1. Java中的BigInteger
  2. Golang中的big.Int
  3. Nodejs中的BigInt
  4. Python中的int
  • 十进制表示
let a = 1234567890123456789012345678901234567890n;
  • 二进制表示

二进制数字以 0b0B 开头。

//二进制
let n = 0b101010n;
//打印42n
console.log(n)
  • 八进制表示

八进制数字以 0o0O 开头。

//八进制
let n = 0o52n;
//打印42n
console.log(n)
  • 十六进制表示

十六进制数字以 0x0X 开头。

//十六进制
let n = 0xFFn;
//打印255n
console.log(n)

属性与方法

名称类型参数必须返回值说明
toString方法radix?:intstring将数字转换为指定基数(进制)的字符串表示。默认基数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"

注意事项

  1. 默认行为:如果不提供radix参数,toString()方法默认使用十进制。
  2. 范围:radix参数的有效范围是2到36。这个范围之外的值会导致RangeError
  3. 零的特殊情况:零在所有进制中都表示为"0"。

boolean

布尔类型

let a = true;
let b = false;

null

空值类型

let a = null;
更新时间 6/10/2026, 7:09:46 PM