page contents
Nen
Nen - 程序员

性别: 天津 - 天津市 注册于 2021-06-23

向TA求助
2850金币数
43180 经验值
1个粉丝
主页被访问 6242 次

3096 个回答

0 赞同

JavaScript 中如何进行隐式类型转换?

在 JavaScript 中,基本类型是没有属性和方法的,但是为了便于操作基本类型的值,在调用基本类型的属性或方法时 JavaScript 会在后台隐式地将 基本类型的值转换为对象,如: const a = "abc"; a.length; // 3 a.toUpperCase(); // "ABC" 在访问'abc'.length时,JavaScript 将'abc'在后台转换成String('abc'),然后再访...

回答于 2021-12-16 14:51

0 赞同

+ 操作符什么时候用于字符串的拼接?

根据 ES5 规范,如果某个操作数是字符串或者能够通过以下步骤转换为字符串的话,+ 将进行拼接操作。如果其中一个操作数是对象(包括数 组),则首先对其调用 ToPrimitive 抽象操作,该抽象操作再调用 [[DefaultValue]],以数字作为上下文。如果不能转换为字符串,则会将其转换为数字类型来进行计算。 简单来说就是,如果...

回答于 2021-12-16 14:45

0 赞同

为什么会有BigInt的提案?

JavaScript中Number.MAX_SAFE_INTEGER表示最⼤安全数字,计算结果是9007199254740991,即在这个数范围内不会出现精度丢失(⼩数除 外)。但是⼀旦超过这个范围,js就会出现计算不准确的情况,这在⼤数计算的时候不得不依靠⼀些第三⽅库进⾏解决,因此官⽅提出了BigInt来解决此问题。

回答于 2021-12-16 14:44

0 赞同

object.assign和扩展运算法是深拷贝还是浅拷贝,两者区别?

扩展运算符: let outObj = {  inObj: {a: 1, b: 2} } let newObj = {...outObj} newObj.inObj.a = 2 console.log(outObj) // {inObj: {a: 2, b: 2}} Object.assign(): let outObj = {  inObj: {a: 1, b: 2} } let newObj = Object.assign({}, outObj) newObj.inObj.a = 2 console.log(outObj) // {inObj: {a:...

回答于 2021-12-16 14:43

0 赞同

let、const、var的区别?

(1)块级作用域: 块作用域由 { }包括,let和const具有块级作用域,var不存在块级作用域。块级作用域解决了ES5中的两个问题: 内层变量可能覆盖外层变量 用来计数的循环变量泄露为全局变量 (2)变量提升: var存在变量提升,let和const不存在变量提升,即在变量只能在声明之后使用,否在会报错。 (3)给全局添加属性...

回答于 2021-12-16 14:41

0 赞同

const对象的属性可以修改吗?

const保证的并不是变量的值不能改动,而是变量指向的那个内存地址不能改动。对于基本类型的数据(数值、字符串、布尔值),其值就保存在变量指向的那个内存地址,因此等同于常量。 但对于引用类型的数据(主要是对象和数组)来说,变量指向数据的内存地址,保存的只是一个指针,const只能保证这个指针是固定不变的,至于它...

回答于 2021-12-16 14:34

0 赞同

如果new一个箭头函数的会怎么样?

箭头函数是ES6中的提出来的,它没有prototype,也没有自己的this指向,更不可以使用arguments参数,所以不能New一个箭头函数。 new操作符的实现步骤如下: 1. 创建一个对象 2. 将构造函数的作用域赋给新对象(也就是将对象的proto属性指向构造函数的prototype属性) 3. 指向构造函数中的代码,构造函数中的this指向该对...

回答于 2021-12-16 14:28

0 赞同

其他值到布尔类型的值的转换规则?

Undefined 类型的值转换为 NaN。 Null 类型的值转换为 0。 Boolean 类型的值,true 转换为 1,false 转换为 0。 String 类型的值转换如同使用 Number() 函数进行转换,如果包含非数字值则转换为 NaN,空字符串为 0。 Symbol 类型的值不能转换为数字,会报错。 对象(包括数组)会首先被转换为相应的基本类型值,如果返...

回答于 2021-12-15 14:29

0 赞同

其他值到数字值的转换规则?

Undefined 类型的值转换为 NaN。 Null 类型的值转换为 0。 Boolean 类型的值,true 转换为 1,false 转换为 0。 String 类型的值转换如同使用 Number() 函数进行转换,如果包含非数字值则转换为 NaN,空字符串为 0。 Symbol 类型的值不能转换为数字,会报错。 对象(包括数组)会首先被转换为相应的基本类型值,如果返...

回答于 2021-12-15 14:29

0 赞同

其他值到字符串的转换规则?

Null 和 Undefined 类型 ,null 转换为 “null”,undefined 转换为 “undefined”, Boolean 类型,true 转换为 “true”,false 转换为 “false”。 Number 类型的值直接转换,不过那些极小和极大的数字会使用指数形式。 Symbol 类型的值直接转换,但是只允许显式强制类型转换,使用隐式强制类型转换会产生错误。 对普通对象...

回答于 2021-12-15 14:24