iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0
Modern Web

追求JS小姊姊30天系列 第 2

追求JS小姊姊系列 Day2 -- 誰說難搞的女生沒朋友?

前情提要

先幫大家回味一下,第一天我說了些哪些內容:

之前跟她裝熟很失敗,現在決心要打掉重練

啊,可是現狀就是不熟,到底能怎麼做呢?

那就是!從農村包圍城市
毛澤東

圖片來源:https://www.thenewslens.com/article/155850

不是啦,我的意思是從外而內,慢慢~~包圍~~打入她的生活圈

要知道,想要減低一段戀情的摩擦機率,受到對象的姊妹淘認可與祝福,是很重要的!所以先跟JS的姐妹認識認識(交流交流)不會錯!

以下是筆記與他們對話的過程:


朋友A:數字姐

數字姐:先不說別的,你有聽過數字型別嗎?
我:(直...?)沒聽過
數字姐:數字型別包含的內容其實很廣

//這些都是數字型別
let x = 1.5; //浮點數
let y = 1;//整數
let z = NaN;//不是數字
let f = Infinity;//無限大
let a = -Infinity;//負的無限大

我:NaN意思是不是數字,卻是數字型別?
數字姐:喔對齁,看來你有在思考,那考你幾題好了。

//1.型別
console.log(typeof NaN);
//註釋: typeof 適用於判斷基本型別內容

//2.運算
console.log(NaN + 8757)

//3.是否相等?
console.log(NaN === NaN)

數字姐:如果你有嘗試上面的內容,會發現以下幾點:

  1. NaN是數字型別
  2. 它與數字型別的任何內容進行運算,結果都是NaN
  3. 跟一般的數字內容不同,NaN甚至不會等於自己

數字姐:如果有興趣知道更多數字型別的內容,之後來找我再跟你說如何?

朋友B:布林姐

姐妹們似乎很依賴她來判斷事物真假,目前還沒出錯過。
是真的她會說:true,不是則為false

//這個包包是9000嗎?
let lvBag = 9000;
console.log(Boolean(lvBag === 9000));//get true

//這個是好男人嗎?
let thisMan = false;
let goodMan = true;
console.log(Boolean(thisMan === goodMan)); // get false

朋友C:字串姐

她講了很多叫做字串(String)的東西:

字串姐:在模板字面值出現之前,字串要做到換行是挺麻煩的,必須使用\n(反斜線+n)來實現換行

let trys = "真的很 \n麻煩\n對吧 \n小兄弟";

我:等一下,什麼是模板字面值啊?
字串姐:(無視提問)ES6聚會後,新增模板字面值,你只要用反號(``)包覆內容,不但能輕鬆換行,還能用${}嵌入變數值呢~ 呵呵

//改寫上面的trys
let es6Good = "cool";
let trys = `真的不
麻煩
對吧
小兄弟 ${es6Good}`

我: ...
字串姐:字串的能耐還不只如此呢,有興趣再來找我吧。

朋友D,E:空值姐 & 未定義姐

兩人初次看來長相非常相似:

//1.布林判斷
console.log(Boolean(null));
console.log(Boolean(undefined));
//都會得到false

//2.是否相等
console.log(null == undefined);//true
console.log(null === undefined );//false

空值姐 & 未定義姐:undefined 跟 null 雖然看起來類似,但是意義上是有不同的:

  1. undefined :代表的是還沒有給值。
  2. null:可能曾經有值,但現在沒有。

朋友F:象徵姐

似乎是最近參加ES6聚會後認識的朋友,目前不調查。

工具人(?):還有一些殷勤的男人:

  1. 方函式
  2. 鄭列
  3. 阿物件

之後再觀察跟接觸好了。

小結(問題整理)

跟她們講話都像在跟遊戲NPC講話的感覺.../images/emoticon/emoticon10.gif

  1. 數字型別包含那麼多,要怎麼判斷?(尤其NaN)
  2. 所謂的數字型別,是否還有別的?
  3. 字串後來的模板字面值比較方便?
  4. null 跟 undefined意義上是不同的。
  5. 布林只會回true,false

數字姐也是字串姐?怎麼回事?

事情是這樣的,今日我也照慣例的在(偷窺)觀察她的姐妹時
在大街上,只見字串姐突然大喊一聲:轉型數字!

let stringSisChangeType = Number("iamstring");

下一秒眼前的人竟然變成數字姐??!

-- (to be continued) --




那今天就到這邊摟!
從今天開始都會推一首我愛的歌:
無妄合作社 No-nonsense Collective-〈開店歌〉
https://www.youtube.com/watch?v=jZzzwd_CDQM

每天的休息,是為了後面的追求,明天見。

參考資料:

  1. 你懂 JavaScript 嗎?#4 型別(Types)
  2. 許國政,〈0 陷阱!0 誤解!8 天重新認識 JavaScript!〉,博碩文化,p1-20 ~ 31。
  3. JavaScript 的資料型別與資料結構 ---MDN

上一篇
追求JS小姊姊系列 Day1 --- 30天是能追什麼?
下一篇
追求JS小姊姊系列 Day3 -- 我知道很怪,但你不好奇字串姐變身會怎樣嗎(上)
系列文
追求JS小姊姊30天30

2 則留言

0
Chiahsuan
iT邦新手 4 級 ‧ 2021-09-18 14:53:06

超有創意~/images/emoticon/emoticon42.gif

謝謝陣列女神
/images/emoticon/emoticon13.gif

0
PH
iT邦新手 4 級 ‧ 2021-09-19 02:41:08

這是一個藉由學習透露心聲的系列? XD

捕獲野生penghua! /images/emoticon/emoticon32.gif

我要留言

立即登入留言