iT邦幫忙

0

[筆記 Day-3]NodeJS-型別DataType

KUI 2018-09-07 15:43:533367 瀏覽
  • 分享至 

  • xImage
  •  

接下來的東西需要一點程式基礎。

宣告型別

在 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看似自由,但其實是一個大坑。
https://ithelp.ithome.com.tw/upload/images/20180907/20106071lte0N7AWRu.png
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 版本方法


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
marlin12
iT邦研究生 5 級 ‧ 2018-09-07 21:19:50

你所說的[大坑]都是源自javascript的[弱類型](weak typing)和[進取的類型轉換](aggressive type coercions)問題。也只是javascript衆多問題的[冰山一角]。
javascript的十宗罪
為何javascript那麽差勁

建議轉用Typescript。

KUI iT邦新手 4 級 ‧ 2018-09-12 10:21:45 檢舉

/images/emoticon/emoticon41.gif
感謝回應與指教w

我要留言

立即登入留言