接下來的東西需要一點程式基礎。
在 C/C++、java 或某些其他語言 裡,參數都帶有型態(ex:int、string、bool、char,等...),
但在 JS 宣告型態都用 var。
//布林(Boolean)
var Check1 = false;
var Check2 = true;
var Check3 = new Boolean(false);
//數值(Number)
var num1 = 1;
var num2 = new Number(2);
//字串(String)
var Str1 = "Helon";
var Str2 = 'Helon';
var Str3 = new String("Leo");
//陣列(Array)
var Array1 = []; // Array1: [] 長度0
var Array2 = new Array(); // Array2: [] 長度0
var Array3 = new Array(3); // Array3: [undefined,undefined,undefined] 長度3
//物件(Object)
var Object1 = {};
var Object2 = new Object();
var Man = {"name":""};
var Object3 = new Object(Man);
//空值(null)
var Result = null;
//未定義(undefined)
var Result = undefined;
//函式(Function)
var fun1 = function(){ ... };
var fun2 = () => { ... };
※以上為簡單介紹宣告的範例,
實際上,JS看似自由,但其實是一個大坑。
typeof : 是用來測試某資料的型別。
NaN : (Not a Number ,非數)表示未定義或不可表示的值。
所以在運用的使用需要非常的小心與警慎,
當你的專案越來越大時,追查就越加困難(笑)。
在程式方面,轉換型別是常有的事。
以下,就是各型別轉換方式:
//要轉換的範例們
var apple = 123;
var banana = "777.5";
//布林(Boolean)
Boolean(apple);
!!apple;
//數值(Number)
Number(banana);
banana - 0;
parseInt(banana); // 整數
parseFloat(banana);// 浮點數
//字串(String)
String(apple);
apple.toString(); // 當null或undefined的時候無法使用
apple + "";
上一篇 NodeJS-安裝
下一篇 (Ubuntu)更改node js 版本方法
你所說的[大坑]都是源自javascript的[弱類型](weak typing)和[進取的類型轉換](aggressive type coercions)問題。也只是javascript衆多問題的[冰山一角]。
javascript的十宗罪
為何javascript那麽差勁
建議轉用Typescript。
感謝回應與指教w