在這篇文章會學到
- 如何命名規則
- 變數型別
- JS弱型別特性
如何命名規則
在JaveScript命名變數基本上沒有限制,不論使用字母或數字或符號都可以。
但唯一例外為 系統預設函數(例如: var, let, if, else等等)
1 | let a = 1; //成立 |
此外,須注意命名變數以物件名詞為主,讓人能一眼了解變數代表意義。
其中,建議以小駝峰命名法(lower camel case) 作為變數命名。
1 | let tomPhone = 'iPhone'; |
而一個變數只能使用 一次 (不論是用var, let, const),之後更改數值則直接加 = 即可。
1 | let newNumber = 1 ; |
變數數值型別
變數的值基本上分為基本型態和物件:
基本型態:
- Boolean
- Null
- Undefined
- Number (NaN也屬於Number喔)
- String
- Symbol (new in ECMAScript 2015)
物件:
- Object
判定數值型別使用 typeof ,範例如下:
1 | let firstName = 'Tom'; |
一般常使用的數值型別轉換如下
1 | // 字串String轉數字Number |
JS 弱型別特性
所謂的弱型別為 在宣告變數時不用特別定義其型別就能使用,代表語言為 JavaScript,
反之,強行別為 在宣告變數時需要先定義其型別才能使用,代表語言為 TypeScript。
因此基於JS弱型別特性,以下範例就能使其型別進行更改。
1 | let a = '1'; // String |
以上是弱型別相關式子,若使用得當帶來的好處,但也有可能會造成bug。
1 | null + [1,2,3]//> “null1,2,3” |
以上就是本篇文章想告訴大家的。
CodeWars練習
我在 codewars 找到一個適合用於弱型別的題目 點我前往練習
Welcome. In this kata, you are asked to square every digit of a number and concatenate them.
For example, if we run 9119 through the function, 811181 will come out, because 9^2 is 81 and 1^2 is 1
Note: The function accepts an integer and returns an integer
可以利用 在物件前上 + 就可轉成number、 string兩個相乘 則變成 number 特性完成本題。
1 | function squareDigits(num){ |