追求JS小姊姊系列 Day3 -- 我知道很怪,但你不好奇字串姐变身会怎样吗(上)

前情提要

字串姐突然大喊一声:**转型数字!**後,眼前的人竟然变成数字姐了?!

旁白:剧情先在这暂停一下,所以(拉长音),转型数字这件事究竟代表了什麽?

首先要拆分成两个单字解释,分别是

  1. 转型
  2. 数字

数字吗?不,请叫我数字型别

首先数字就是其中一种基本型别。
在昨天提到的那些人物,其实代表的分别是JS的基本型别复合型别内容,分别是:

  1. 基本型别:
    1.Number
    2.String
    3.Boolean
    4.Null
    5.Undefined
    6.symbol
let x = 123456; //typeof Number
let y = "String"; //typeof String
let w = true; //typeof Boolean
....
  1. 复合型别:
    1.function
    2.array
    3.object

如果你无聊,可以想想每个人的命名背後的道理

转型啦,哪次不转型

知道了型别概念後,接着来简单讲一下转型这件事,在JS转型会有的几种方式:

  1. 透过Number() ,String()等内建函式进行:
//今天有一个数字型别内容,想印出字串型别的样子
let x = 123; //number
console.log(String(x)); // "123"
  1. 物件原型的方法
//今天有一个数字型别内容,想印出字串型别的样子
let x = 123; //number
console.log(x.toString()); // "123"

背後的依循规格

我们所看到上面的转型结果,每个都是依循ES的规格所来的,以下以ToString规格内容为例:
https://ithelp.ithome.com.tw/upload/images/20210918/20141272gyG2fduGk3.png
以下为程序码示意图:

let x =null;
let y = undefined;
let z = true;
String(x)
String(y)
String(z)
//个别会得到什麽呢?

想知道更多类别的规格,可以参考Annotated ES5
以上像这样你很清楚转换的型别结果,我会称为明确的强制转型

猜你想说:所以有不明确的强制转型?


喂喂,这位先生,你还好吗?....
......

路人A:中秋连假你怎麽躺在路边?
我:我...昏倒了吗?
路人A:是啊
我:(回想数字姐刚刚的画面:那是梦吗?)谢谢你的关心,我没事了,祝你中秋节快乐ㄟ 。

看来今天跟踪就先这样吧,忘了吃下午茶(抓头)

-- to be continued --


那今天就到这边搂!今天分享喜欢的歌是:
当代电影大师 Modern Cinema Master - 我常常有一种感觉 (Official Audio)
https://www.youtube.com/watch?v=RFwl98N_Kss

每天的休息,是为了後面的追求,明天见。

参考资料:
  1. https://ithelp.ithome.com.tw/articles/10191254
  2. https://ithelp.ithome.com.tw/articles/10220471
  3. https://cythilya.github.io/2018/10/15/coercion/

<<:  [ Day 03 ] 建立一个 React.js 专案

>>:  Day 16-制作购物车系统之backend

【在 iOS 开发路上的大小事-Day20】透过 Firebase 来管理使用者 (Sign in with Facebook 篇) Part2

昨天我们已经完成了 Sign in with Facebook 的前置作业了,今天我们要来将功能实作...

Day12:SwiftUI-List

前言 前两篇文章讲了储存多个值的 Array、Dictionary, 现在来看看如何在 SwiftU...

Python 关系运算符号和if用法

今天要来教大家数学的关系运算,也就是大於、等於、不等於...等等的,还有if的用法,就是假如某件事成...

开始!

参赛目的 工作中实作 Client/Server 的过程中经常会遇到需要根据 URI 分派各种指令的...

Day2-K8s?

一个技术要火起来有时候不只要有真本事?还需要一点时机,巧合,比如发明平板的其实是微软,但让平板走入大...