iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 16
1
自我挑戰組

蚵蚵攻城記系列 第 16

[Day16] JavaScript Data type

  • 分享至 

  • xImage
  •  

JavaScript的data types分成 primitive type 和 object type
Primitive type有 strings, numbers, booleans, null, undefined

Strings 字串

Strings可以用 單引號''、雙引號""或是反引號``來表示。

var x = 'A';
var y = "Zer";
var z = `18`; 
console.log(typeof(x));  //String
console.log(typeof(y));	 //String
console.log(typeof(z));  //String

Numbers 數字

數字則不加上任何的引號

var x = 20.5;
var y = Infinity;
var z = NaN; 
var a = 20 / 'b';
console.log(typeof(x));  //number
console.log(typeof(y));	 //Infinity 和-Infinity 都是 number,如果寫成infinity則會變成not defined。
console.log(typeof(z));  //number
console.log(a);  // 讓數字除以字串會回傳NaN (Not a Number),代表了計算錯誤。
console.log(typeof(a));  //但還是會回傳資料型態是 number。

+ 可以讓string連結在一起,也可以讓number做加法的運算。

var w = '2';
var x = '8';
var y = 2;
var z = 8;
console.log(w + x); 
// 28 結果是把'2' 和 '8'兩個字串寫在一起的字串'28'。
console.log(typeof(w + x));  //string
console.log(y + z); 
// 10 數字2和8相加後,形成數字10。
console.log(typeof(z + y));  //number
console.log(y + z + x); 
// 108 會先將y和z當成數字相加,再加上字串'8',形成字串'108'。
console.log(typeof(z + y + x));  //string
console.log(x + y + z); 
// 828 直接會把原本數字y和z當成了字串,產生字串'828'。
console.log(typeof(z + y + x));  //string

Boolean 布林

布林的值只有true跟false,

var x = 5;
var y = 8;
console.log(x > y);  // false
console.log(y > x);  // true

邏輯的運算有&&||!
&&代表and,兩個條件都要達成才會回傳true。

var x = 5;
console.log(x > 1 && x > 6);  // false
console.log(x > 1 && x > 4);  // true

||代表or,只要達成一個條件就會回傳true。

var x = 5;
console.log(x > 1 || x > 6);  // true
console.log(x > 1 || x > 4);  // true
console.log(x > 7 || x > 6);  // false

!代表not,true會回傳false,false則會回傳true。

var x = 5;
console.log(! x > 1);  // false
console.log(! x < 3);  // true

null 和 undefined

null 和 undefined 觀念有點抽象,如果硬要譬喻的話,
null 應該是 我有一個"空的"盒子。,盒子裡甚麼都沒有,是空的。
undefined 則是 我有一個盒子,至於盒子裡是空的還是有裝東西?沒有被說明清楚。

var x = null;
var y;
console.log(typeof(x));  //object
console.log(typeof(y));  //undefined

上一篇
[Day15] 練習做一個 Gotop UI
下一篇
[Day17] JavaScript objects
系列文
蚵蚵攻城記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言