Flow基本數(shù)據(jù)類型(Primitive Types)

基本數(shù)據(jù)類型

JavaScript有幾種不同的基本數(shù)據(jù)類型

  • 布爾(Booleans)
  • 字符串(Strings)
  • 數(shù)字(Numbers)
  • 空(Null)
  • 未定義(Undefined蓉坎,相當于Flow類型中的void)
  • 符號(Symbols, Flow暫未支持)

基本數(shù)據(jù)類型以字面量的形式出現(xiàn):

true;
"hello";
3.14;
null;
undefined;

或者使用構(gòu)造函數(shù)顯示創(chuàng)建包裝對象:

new Boolean(false);
new String("world");
new Number(42);
Symbol("foo");

字面量的類型是小寫的猬错,在flow中的用法如下:

// @flow
function method(x: number, y: string, z: boolean) {
  // ...
}

method(3.14, "hello", true);

包裝對象的類型是大寫的(和它們的構(gòu)造函數(shù)相同),在flow中的用法如下(一般不會這樣使用):

// @flow
function method(x: Number, y: String, z: Boolean) {
  // ...
}

method(new Number(42), new String("world"), new Boolean(false));

布爾(Booleans)

布爾值是JavaScript中的真值和假值剖煌。 Flow中的布爾類型接收這些值。

// @flow
function acceptsBoolean(value: boolean) {
  // ...
}

acceptsBoolean(true);  // Works!
acceptsBoolean(false); // Works!
acceptsBoolean("foo"); // Error!

JavaScript也可以隱式地將其他類型的值轉(zhuǎn)換為布爾值崩泡。

if (42) {} // 42 => true
if ("") {} // "" => false

當非布爾值需要被顯式轉(zhuǎn)換成布爾值。可以用Boolean(x)或者!!x來做到這一點衫画。

// @flow
function acceptsBoolean(value: boolean) {
  // ...
}

acceptsBoolean(0);          // Error!
acceptsBoolean(Boolean(0)); // Works!
acceptsBoolean(!!0);        // Works!

booleanBoolean是不同的類型

  • 布爾值(boolean)是一個字面量值,比如真值瓮栗、假值或者像表達式a === b所返回的結(jié)果削罩。
  • Boolean 是由全局構(gòu)造函數(shù)new Boolean(x)創(chuàng)建的一個包裝對象。

數(shù)字(Numbers)

與許多其他語言不同费奸,JavaScript只有一種類型的數(shù)字弥激。這些值可能顯示為42或3.14。JavaScript也認為無限(Infinity)和NaN是數(shù)字愿阐。number捕獲一切JavaScript所認為的數(shù)字微服。

// @flow
function acceptsNumber(value: number) {
  // ...
}

acceptsNumber(42);       // Works!
acceptsNumber(3.14);     // Works!
acceptsNumber(NaN);      // Works!
acceptsNumber(Infinity); // Works!
acceptsNumber("foo");    // Error!

字符串(Strings)

JavaScript中字符串是指類似"foo"這樣的值。 Flow中的字符串類型接收這些值缨历。

// @flow
function acceptsString(value: string) {
  // ...
}

acceptsString("foo"); // Works!
acceptsString(false); // Error!

JavaScript中通過連接將其他類型的值隱式將其轉(zhuǎn)換為字符串以蕴。

"foo" + 42; // "foo42"
"foo" + {}; // "foo[object Object]"

然而,當執(zhí)行連接操作時辛孵,F(xiàn)low只接收字符串和數(shù)字類型

// @flow
"foo" + "foo"; // Works!
"foo" + 42;    // Works!
"foo" + {};    // Error!
"foo" + [];    // Error!

你必須使用String方法顯式轉(zhuǎn)換或使用其他方法來對值進行字符串化丛肮。

// @flow
"foo" + String({});     // Works!
"foo" + [].toString();  // Works!
"" + JSON.stringify({}) // Works!

空值(null and void)

JavaScript有nullundefined。Flow將它們視為單獨的類型:nullvoidundefined)魄缚。

// @flow
function acceptsNull(value: null) {
  /* ... */
}

function acceptsUndefined(value: void) {
  /* ... */
}

acceptsNull(null);      // Works!
acceptsNull(undefined); // Error!
acceptsUndefined(null);      // Error!
acceptsUndefined(undefined); // Works!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宝与,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子冶匹,更是在濱河造成了極大的恐慌习劫,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚼隘,死亡現(xiàn)場離奇詭異诽里,居然都是意外死亡,警方通過查閱死者的電腦和手機飞蛹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門须肆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人桩皿,你說我怎么就攤上這事豌汇。” “怎么了泄隔?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵拒贱,是天一觀的道長。 經(jīng)常有香客問我,道長逻澳,這世上最難降的妖魔是什么闸天? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮斜做,結(jié)果婚禮上苞氮,老公的妹妹穿的比我還像新娘。我一直安慰自己瓤逼,他們只是感情好笼吟,可當我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著霸旗,像睡著了一般贷帮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上诱告,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天撵枢,我揣著相機與錄音,去河邊找鬼精居。 笑死锄禽,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的靴姿。 我是一名探鬼主播沃但,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼空猜!你這毒婦竟也來了绽慈?” 一聲冷哼從身側(cè)響起恨旱,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤辈毯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后搜贤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谆沃,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年仪芒,在試婚紗的時候發(fā)現(xiàn)自己被綠了唁影。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡掂名,死狀恐怖据沈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情饺蔑,我是刑警寧澤锌介,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響孔祸,放射性物質(zhì)發(fā)生泄漏隆敢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一崔慧、第九天 我趴在偏房一處隱蔽的房頂上張望拂蝎。 院中可真熱鬧,春花似錦惶室、人聲如沸温自。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捣作。三九已至,卻和暖如春鹅士,著一層夾襖步出監(jiān)牢的瞬間券躁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工掉盅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留也拜,地道東北人。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓趾痘,卻偏偏與公主長得像慢哈,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子永票,可洞房花燭夜當晚...
    茶點故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)卵贱,也就是一...
    悟名先生閱讀 4,148評論 0 13
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,233評論 0 4
  • ??引用類型的值(對象)是引用類型的一個實例键俱。 ??在 ECMAscript 中,引用類型是一種數(shù)據(jù)結(jié)構(gòu)世分,用于將數(shù)...
    霜天曉閱讀 1,052評論 0 1
  • 2016 - 2017 我們從倆變成叁我們從小康變成亞健康我們完成了人生中最重要的事我們實現(xiàn)了屬于我們的小目標你找...
    Dico_zhang閱讀 282評論 0 0
  • “天下三分明月夜臭埋,二分無賴是揚州”“二十四橋明月夜踪央,玉人何處教吹簫”……這樣的詩句,總讓人胸中風花雪月詩意激蕩瓢阴,對...
    一玄子閱讀 451評論 1 2