首页
学习
活动
专区
工具
TVP
发布

红宝书 📒 5.3 基本引用类型-原始包装类型

每当用到某个原始方法或属性时,后台都会创建一个相应原始包装类型对象。...思考 3 原始包装类typeof会是什么? 其实这个问题多余问,都是引用类型了。执行typeof 一定是object类型。...Boolean(string) //true 因为Object构造函数作为一个工厂方法,可以根据传入类型返回相应原始包装类型(下面是用instanceof 检测具体引用类型,因为typeof对于引用类型检测都是...let obj = new Number("24") typeof obj //object 5.3.1 Boolean 重写了valueOf(),返回原始数据类型。...toLocalString():返回字符串 其他方法 之所以原始类型能使用方法,是因为原始包装类型 toFixed() 返回指定小数点位数数值字符串 let num = 10 console.log(

22710

JS对象到原始转换

JS对象到原始值转换复杂性 主要由于某些对象类型存在不止一种原始表示 对象到原始值转换三种基本算法 在解释三种算法前需要了解toString valueOf这两个方法 toString...返回对象字符串表示 Array类toString方法会将每个元素转换为字符串,再使用逗号作为分隔符拼接起来 Function类toString方法将定义函数转换为JS源代码字符串 Date类型...toString方法返回一个人类友好(且JS可解析)日期和时间字符串 RegExp类定义toString方法将RegExp对象转换为一个看起来像RegExp字面量字符串 valueOf 把对象转换为代表对象原始值...否则,转换失败 TypeError 偏数值 (该算法返回原始值,只要可能就返回数值) 与偏字符串算法类似,先尝试valueOf再尝试toString 无偏好 (该算法不倾向于任何原始类型,而是由类定义自己转换规则...) 取决于被转换对象类 如果是Date对象,则使用偏字符串算法 其他类型使用偏数值算法 JS内置类型除了Date类都实现了偏数值算法;Date类实现了偏字符串算法 对象转换为布尔值 所有对象都转换为

4.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

TypeScript 原始数据类型

简而言之,类型声明给变量设置了类型,使得变量只能存储某种类型值 Snipaste_2021-05-18_14-09-22.jpg TypeScript 中数据类型分为两大类 原始数据类型(基本数据类型...) 对象类型(复杂数据类型) 常用基本数据类型:number / string / boolean / undefined / null 自动类型判断 TS 拥有自动类型判断机制 当对变量声明和赋值时同时进行...任意类型 unknown * 类型安全any void 空值(undefined) 没有值(或undefined) never 没有值 不能是任何值 object (name: '罗') 任意 js...对象 array 1, 2, 3 任意 js 数组 tuple 4, 5 元组,TS 新增类型,固定长度数组 enum enum(A, B) 枚举,TS 中新增类型 在 ES6 和 ES10 中引入了新基本数据类型...,分别是 Symbol 和 BigInt 原始数据类型 数字类型 使用关键字number定义数字类型 let decimal: number = 6.1; // 小数 let hex: number

76750

TypeScript 中基础类型原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型

TypeScript 强大类型系统使得开发者能够更轻松地编写可维护、可扩展代码。本文将详细介绍 TypeScript 中基础类型,包括原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型。...原始类型在 TypeScript 中,有以下几种原始类型:数字类型数字类型用于表示整数或浮点数。可以使用 number 关键字来声明数字变量。...例如:let nothing: null = null; // 空值类型let nul: null = null; // 空值类型对象类型对象类型用于表示非原始数据类型,包括对象、数组、函数等。...类型推断和类型断言TypeScript 具有强大类型推断能力,它可以根据上下文自动推断变量类型。例如,如果我们在定义变量时直接赋值,TypeScript 可以推断出变量类型。...总结本文详细介绍了 TypeScript 基础类型,包括原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型等方面。

27830

深入理解面向对象中原始类型和引用类型

什么是数据类型? 我们先前学过数据类型可以划分成两类:原始类型和引用类型原始类型数据都是一些比较简单数据,比如字符串,数字等。引用类型数据稍微复杂一点,比如对象。...原始类型 原始类型数据都是一些比较简单数据,比如:true和25,这些数据会被直接存储在变量内存空间中。...2.1 检测原始类型数据 检测原始类型数据最好方式是使用typeof操作符,该操作符会返回一个表示数据类型字符串。...引用类型 引用类型数据指的是JS对象,类似于其他编程语言中类。对象是由一系列键值对(属性名和属性值)组成无序列表。...为了使我们在操作原始类型数据时候更加方便,JavaScript允许原始类型值使用方法。

1.3K30

JavaScript 原始数据类型转换

Js基础数据类型有7种: 原始数据类型(6种) number (数值) string (字符串) boolean (布尔) null (空对象, typeof 检测为object) undefine...(未定义) symbol (符号类型) 对象数据类型(1种) object(对象类型) 补充: NaN表示 not a number; function本质为 object, 但由于其特殊地位..., typeof会检测为 function; symbol 为ECMAScript6 新定义数据类型, 符号类型是唯一并且是不可修改, 并且也可以用来作为Objectkey值 转换为字符串...转换为布尔 // 布尔类型转换 // 除零以外数字, 非空字符串 都为 true console.log(Boolean(1)) console.log(Boolean(-1)) console.log...快速获取boolean值小技巧: 在变量前添加2个!,示例!!("zhaozhao") === true; 和 !!("") === false ?

78020

JS获取图片原始宽高

最近在给博客相册模块做优化,需要知道图片原始大小,我以前做法是把图片真实宽高分别放在data-width和data-height中,效果是达到了,但是总觉得扩展性很低,当不知道图片大小时,还要一张一张图片去查看图片信息手动输入图片大小...,很繁琐 获取图片大小: 1.使用innerWidth,innerHeight 使用HTMLImageElement.innerWidth 是可以拿到图片宽度 但是需要注意是这里拿到宽度是图像在CSS...像素中渲染宽度 也就是说如果图片原始大小1200,使用css或者width属性设置为600,那么这里拿到宽度为600,显然用innerWidth获取图片原始尺寸是不靠谱 2.使用document.createElement...需要注意是在给imgsrc赋值时,这是一个异步过程,会存在获取img宽度时值为0(图片还未加载完成),可以在给img赋值之前加上onload事件 var img = document.createElement....jpg" 3.使用naturalWidth(推荐) 使用HTMLImageElement.naturalWidth拿到图像在CSS像素中固有的宽度,如果可用的话; 否则, 返回0 这样就可以拿到图片原始大小

6K20

了解 TypeScript 原始类型:探索显式和隐式类型

TypeScript是JavaScript超集,为JavaScript动态类型世界引入了静态类型。这使开发人员能够在开发过程中捕获潜在错误并提高代码可读性。...在TypeScript中,变量可以明确或隐式地定义类型,并且该语言支持各种原始类型。让我们深入了解每种原始类型,探索示例,并了解显式和隐式类型之间区别。...TypeScript中原始类型Number(数字):number类型代表整数和浮点数。...let data: null = null;let info: undefined = undefined;Object(对象):object类型是一个广泛类别,包括非原始值。...但是,特别是在较大代码库中,可能导致可读性下降。结论了解TypeScript中原始类型以及何时使用显式或隐式类型对于编写健壮且易于维护代码至关重要。

10810

JS类型类型转换

有不少人认为:JavaScript 没有类型! ? ? 正解是:JavaScript 中变量没有类型,但值有类型。变量可以随时持有任何类型值。 1. 值与类型 ?...使用 typeof 运算符即可查看值类型。 ? 特别注意:typeof null == "object",这已被设计和维护 JavaScript 委员会 T39 认定是一个错误。...类型转换基本规则 ? 在很多 JavaScript 书籍中强制类型转换被说成是危险、晦涩和糟糕设计。但对于不懂地方我们应该迎难而上,知其然并且知其所以然,不会因为种种传言就退避三舍。 ? ?...“隐式”强制类型转换 “隐式” 指那些隐晦、易坑人方式... a. 加法与字符串连接(+): 最权威解释,永远来自于规范 ? ? b. 宽松相等判定(==): 还是看规范中最权威解释 ? ?...下面以一道 JS 面试题 结束本文 题目: 实现一个函数,运算结果可以满足如下预期结果: add(1)(2) // 3 add(1, 2, 3)(10) // 16 add(1)(2)(3)(4)(5)

7.5K40

攀爬TS之路(一) 原始数据类型、任意值类型

攀爬TS之路(一) 原始数据类型、任意值类型 前言 之前简单了解过TypeScript,但是没有系统、深入学习,现在就来系统学习一下。...JS是动态类型 JS let num = 1 num.split('') 编译阶段不报错,运行时才发现number类型调用split,报错。...同样代码在JS中运行阶段报错,在TS中编译阶段报错。...如1+'1'不会报错 TS和JS都是弱类型 console.log(2 + '1') 在TS和JS中都不会报错,因为TS是完全兼容JS,不会修改JS运行时特性,所以它们都是弱类型。...原始数据类型 原始数据类型包括:number、string、boolean、null、undefined和Symbol、BigInt(ES6新增) 这个部分实际上,TS和JS差别不大,举个例子就能懂了。

63730

【说站】javascript原始类型是什么?如何鉴别?

javascript原始类型是什么?如何鉴别? 1、分为boolean布尔、number数字、string字符串、null空类型、undefined未定义。...) null空类型,该原始类型只有一个值:null undefined未定义,该原始类型只有一个值:undefined 2、鉴别方法,使用typeof操作符和原始方法。...(1)使用typeof操作符 值得注意: console.log(typeof null);         //"object" 所以判断一个值是否为空类型最佳方法是直接和null比较。...(2)原始方法 虽然字符串、数字、布尔是原始类型,但是他们也拥有方法。特别是字符串有很多方法。...比如toLowerCase()、charAt()、subString()、toString(16) {将数字转换为16进制数} 以上就是javascript原始类型介绍及鉴别,希望对大家有所帮助。

31230

JS进阶系列01-JS类型和动态类型

类型,强类型,动态类型,静态类型区别 首先,我们要弄清楚编程语言两组划分,即弱类型和强类型,动态类型和静态类型。下面有一幅图,非常详细地说明了它们各自定义和区别。 ?...JS类型和动态类型 JS种有5种基本数据类型:Undefined,Null,Boolean,Number和String,以及一种复杂数据类型Object。...但JS变量在声明时无需指定其类型,而是统一使用var关键字。并且在其声明之后,我们可以为其随便赋值不同类型。...JS由于不需要关注变量类型,可以使代码更加简洁,也能使开发者集中更多精力在处理业务逻辑之上。但由于其无法保证变量类型,从而在程序运行期可能发生跟类型相关错误。...JS鸭子类型思想 (这一节内容大家可以直接看BOOK-《JavaScript设计模式与开发实践》 第一部分) JS对变量类型宽容给实际编码带来了很大灵活性,由于无需进行类型检测,开发者可以尝试调用任意对象任意方法

2.3K30
领券