基本类型

基本类型

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. 特殊数值:对于特殊的数值,如Infinity、-Infinity和NaN,toString()会返回相应的字符串表示,如"Infinity"、"-Infinity"和"NaN"。
  4. 零的特殊情况:零在所有进制中都表示为"0"。

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根据指定的精度将数字格式化为字符串

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"

注意事项

  1. 如果数字非常大或非常小,使其格式化后的字符串表示形式包含指数部分,则toFixed方法会先将数字转换为非指数形式,然后再应用四舍五入。
  2. 如果digits参数超出了允许的范围,toFixed方法会抛出RangeError异常。
  3. 使用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"

注意事项

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

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

注意事项

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

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. 特殊数值:对于特殊的数值,如Infinity-InfinityNaN,toString()会返回相应的字符串表示,如"Infinity"、"-Infinity"和" NaN"。
  4. 零的特殊情况:零在所有进制中都表示为"0"。

boolean

布尔类型

let a = true;
let b = false;

null

空值类型

let a = null;
更新时间 9/26/2024, 5:41:28 PM