From 999541ac8541b2a68fbc59d0f6f863245b762dd7 Mon Sep 17 00:00:00 2001 From: YuJian Date: Wed, 27 Apr 2022 09:55:58 +0800 Subject: [PATCH] vault backup: 2022-04-27 09:55:58 --- 深入探索 JavaScript/JavaScript 类型.md | 7 ++++++- 深入探索 JavaScript/奇怪的疑惑.md | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/深入探索 JavaScript/JavaScript 类型.md b/深入探索 JavaScript/JavaScript 类型.md index 7c49cf9..3d619bd 100644 --- a/深入探索 JavaScript/JavaScript 类型.md +++ b/深入探索 JavaScript/JavaScript 类型.md @@ -25,4 +25,9 @@ - JavaScript 中的几个基本类型,都在对象类型中有一个对应的对象类型,这些基本类型是 `Number`、`String`、`Boolean`、`Symbol` - 所以 3 与 new Number(3) 是完全不同的值,一个是 Number 类型,一个是对象类型 - `Number`、`String`、`Boolean`,三个构造器是两用的,当和 new 搭配时会产生对象,直接调用时表示强制类型转换 -- Symbol 函数比较特殊,直接用 new 调用它会抛出错误,但它仍然是 Symbol 对象的构造器 \ No newline at end of file +- Symbol 函数比较特殊,直接用 new 调用它会抛出错误,但它仍然是 Symbol 对象的构造器 +- JavaScript 语言在设计上视图模糊对象和基本类型之间的关系,代码中可以把对象的方法放在基本类型上使用比如 `"Hello".charAt(0)` +- 这是因为 JavaScript 运算符提供了装箱操作,它会根据基础类型构造一个临时对象,使得我们能在基础类型上调用对象类型的方法 +- JavaScript高级程序设计中的解释: 为了方便操作原始值,ES提供了3种特殊的引用类型:Boolean、Number和String。这些类型具有其他引用类型一样的特点,但也具有与各自原始类型对应的特殊行为。每当用到某个原始值的方法和属性时,后台都会创建一个相应的原始包装类型的对象,从而暴露出操作原始值的各种方法。 + +## 类型转换 \ No newline at end of file diff --git a/深入探索 JavaScript/奇怪的疑惑.md b/深入探索 JavaScript/奇怪的疑惑.md index 4bd4c84..23f6819 100644 --- a/深入探索 JavaScript/奇怪的疑惑.md +++ b/深入探索 JavaScript/奇怪的疑惑.md @@ -1 +1,2 @@ -- [ ] JavaScript 中的“类”仅仅是运行时对象的一个私有属性,而 JavaScript 中是无法自定义类型的,为什么? \ No newline at end of file +- [ ] JavaScript 中的“类”仅仅是运行时对象的一个私有属性,而 JavaScript 中是无法自定义类型的,为什么? +- [ ] 什么是装箱操作? \ No newline at end of file