# ==討論日期 : 3/27 ( 三 )== ## 上週複習 - [討論日期:3/20](https://hackmd.io/T1y2n-8EQdqdVfwrj_m4Lw?both) <br> ## 💖 本週複習 🥰 [核心篇第三堂:型別轉換](https://hackmd.io/@hexschool/BkaoMAhmi) <br> ### ==有哪八種型別?== #### 相關知識點 - [JavaScript 的資料型別與資料結構](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Data_structures) #### 大家回答 七種原始型別: 1. Boolean 2. Null 3. Undefined 4. Number - 超出一個範圍後就比較不精準。 - 是 JavaScript 原生的 Number 能夠表示的最大值 6. BigInt - BigInt 好像是超過 JS 的最大值及最小值時使用,會比較穩定。 - 轉型為「數學值」,沒有 NaN、沒有小數點、沒有最大值。 7. String 8. Symbol(於 ECMAScript 6 新定義) 另外還有 Object <br> ### ==請解釋 undefined、null、not defined 的差別== #### 相關知識點 #### 大家回答 - undefined 未定義,當變數已被宣告但未被賦予任何值便是 undefined。 - Null 有一個值,值為空。 `typeOf null;` 印出 `object` `Number( null );` 印出 0 - not defined 值未被宣告。  <br> ### 問題測驗 (溫馨提醒記得複習前兩周的唷!) #### ==題目一== ```js= console.log(typeof []); ``` 解答:object <br> #### ==題目二== ```js= function a() { this.a = 1; } a.a = 2; console.log(a.a) ``` 解答:2 function 是物件所以可以塞屬性進去。 <br> #### ==題目三== ```js= function a() { this.a.a = 1; } a.a = 2; a(); console.log(a.a); ``` 解答:1 a.a = 2; a函式的a屬性先被賦值為2 a(); 函式執行 this.a.a = 1; 等同於 window.a函式.a屬性 被賦值為1 <br> #### ==題目四== ```js= console.log(typeof typeof 1) ``` 解答:string <br> #### ==題目五== ```js= var a = 10; var b = new Number(10); console.log(a == b); ``` 解答:true 寬鬆比較會自動轉型 <br> #### ==題目六== ```js= var a = 1; var b = delete a; console.log(b); ``` 解答:false delete 不能刪除變數,所以 delete a 回傳 false。 延伸題: ```js= const obj = { a: 1 } delete obj.a // true ``` ```js= z = 3; console.log(delete z); // true ``` <br> #### ==題目七== ```js= var a = 1; a++; var b = a++; console.log(b); ``` 解答:2 var b = a++; 的 ++ 會在b被賦值 '後' 才執行 var b = ++a; 的 ++ 會在b被賦值 '前' 才執行 所以b被賦值為2 <br> #### ==題目八== ```js= if (new Boolean(0)) { console.log('true') } else { console.log('false'); } ``` 解答:true new Boolean(0) 是 object <hr> ## 補充 - [toFixed](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed) - [toPrecision](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up