iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 3
1
Modern Web

和少女工程師一起學 JavaScript 系列 第 3

和少女工程師一起學 JavaScript:Day03 資料型別

  • 分享至 

  • twitterImage
  •  

JavaScript 的型別分為 基本型別 (Primitives types)物件型別 (Object types) 兩大類

其中基本型別包含 stringnumberbooleannullundefinedsymbol(ES6)

其他都是物件型別

基本型別

  • 字串 string

    字串表示法:字串會用' ' (單引號)" " (雙引號) 包住,兩者用法沒有什麼差異

    var str = "JavaScript"
    var str = 'JavaScript'
    

    當單引號的內容有出現單引號,外層需改用雙引號

    var str = 'Let's learn JavaScript'  //x
    
    var str = "Let's learn JavaScript"  //o
    
  • 數值 number

    JavaScript 的數值沒有區分成浮點數值或整數值,通通都以浮點數值表示。JavaScript 使用 IEEE 二進位浮點數算術標準,其中有四種表示浮點數值的方式,它採用雙精確度(64位元浮點格式),代表他可以表示的數字介於最大安全整數 253 與最小安全整數 -253 之間,若數字再更大則會有精確度的問題。

    使用方法:

    var a = 100;
    

    除了常見的整數外,還有幾種特殊的數字:Infinity (無限大) 、-Infinity (負無限大) ,以及 NaN (Not a Number)。

    5/0    //Infinity
    
    -5/0  //-Infinity
    
    0/0   //NaN
    
    Infinity+Infinity //Infinity
    
    Infinity-Infinity  //NaN
    
  • 布林值 boolean

    boolean 就相對單純許多,因為他的結果只有兩種,true 以及 false

  • 空值 null

    使用方法:

    var a = null;
    
  • 未定義 undefined

    使用方法:

    var a; // 變數 a 尚未定義,此時 a 為 undefined
    
  • 符號 symbol

    用來作為物件屬性名稱的唯一識別

    使用方法:

    var key = Symbol('name');
    

物件型別

  • 原生物件 (Native Objects)

    ECMAScript 標準中定義的物件有以下幾種

    Array, Date, Math, RegExp, Number, String, Boolean, Object, Function, Typed Arrays, Map, Set, WeakMap, WeakSet, JSON

  • 宿主物件 (Host Objects)

    由 JavaScript 執行環境 額外提供的物件,例如:瀏覽器的 window, 所有 DOM 物件

判斷資料型別

  • typeof

    typeof 20 //'number'
    
    typeof '20' //'string'
    
    typeof true //'boolean'
    
    typeof {} //'object'
    
    typeof null //'object'
    
    typeof function(){} //'function'
    

    typeof 會以字串的方式回傳資料類型,讓我們可以判斷目前變數的資料類型

  • isNaN

    判斷 NaN 的唯一寫法

    number.isNaN(NaN)
    

上一篇
和少女工程師一起學 JavaScript:Day02 認識 JavaScript
下一篇
和少女工程師一起學 JavaScript:Day04 動態型別
系列文
和少女工程師一起學 JavaScript 27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言