検索 - みる会図書館

検索対象: 開眼!JavaScript-言語仕様から学ぶJavaScriptの本質

開眼!JavaScript-言語仕様から学ぶJavaScriptの本質から 191件ヒットしました。

開眼!JavaScript-言語仕様から学ぶJavaScriptの本質


付 録 B 終 わ り に 本 書 を 読 み 終 え て 、 あ な た が 使 っ て い る JavaScript ラ イ プ ラ リ を よ り 深 く 理 解 で き て い る こ と 、 も し く は 自 分 の JavaScript ソ リ ュ ー シ ョ ン を 書 け る 準 備 が で き て い る こ と を 望 み ま す 。 ど ち ら に し て も 、 本 書 は 全 て を 網 羅 し た JavaScript 言 語 の ガ イ ド で は あ り ま せ ん 。 本 書 を 起 点 と し て 以 下 の よ う な 書 籍 を 読 む こ と に よ っ て ( も し く は 再 読 す る こ と に よ っ て ) 、 違 う 見 地 か ら の JavaScript を 学 ん で く だ さ い 。 ま た 本 書 で は 紹 介 し き れ な か っ た ト ピ ッ ク を 巡 る こ と に よ り 、 あ な た の も つ 知 識 と JavaScript 言 語 へ の 理 解 を 絶 え ず 補 強 す る こ と を お す す め し ま す 。 LJavaScript: 羽 Good Parts 』 ( オ ラ イ リ ー ・ ジ ャ パ ン ) 、 原 書 "JavaScript: ((YReilly) 羽 le Good Parts" ((YReiIIy) fJavaScript パ タ ー ン 』 ( オ ラ イ リ ー ・ ジ ャ パ ン ) 、 原 書 "JavaScript Patterns" Performance JavaScript" (O'Reilly) 『 ハ イ パ フ ォ ー マ ン ス JavaScript 』 ( オ ラ イ リ ー ・ ジ ャ パ ン ) 、 原 書 "High 、 ・ l)rofessional JavaScript for Web DeveIopers" (WiIey/Wrox) 、 和 書 未 刊 "Object-Oriented JavaScript" (Packt PubIishing) 『 オ プ ジ ェ ク ト 指 向 JavaScript 』 ( ア ス キ ー ・ メ デ ィ ア ワ ー ク ス ) 、 原 書

開眼!JavaScript-言語仕様から学ぶJavaScriptの本質


は じ め に に す べ て を 説 明 せ ず に 核 心 に 触 れ る 本 を 書 き た か っ た の で す 。 誰 が 本 書 を 読 む べ き か ? し ま っ て も 心 配 し な い で く だ さ い 。 そ う い う 時 は サ ン プ ル コ ー ド を 読 ん で 、 コ ー ド を ル コ ー ド は 千 の 言 葉 よ り も 価 値 が あ る と 信 じ て い ま す 。 最 初 に 説 明 を 読 ん で 混 乱 し て 本 文 は コ ー ド の 補 助 と 位 置 づ け て 、 サ ン プ ル コ ー ド を よ く 読 ん で く だ さ い 。 サ ン プ よ り 少 な い 言 葉 、 よ り 多 い コ ー ド て く だ さ い 。 み 進 め る 上 で 非 常 に 重 要 な 情 報 を 記 載 し て い ま す の で 、 か な ら す こ こ を 読 む よ う に し 本 書 を 読 み 始 め る 前 に 、 本 書 の ス タ イ ル を 説 明 し て お く 必 要 が あ り ま す 。 本 書 を 読 た も の を 、 こ れ ら オ プ ジ ェ ク ト を 含 め た JavaScript 言 語 環 境 一 般 で 活 か し て く だ さ い た め 、 こ れ ら の オ プ ジ ェ ク ト を 本 書 で カ バ ー し な い こ と に し ま し た 。 本 書 で 得 ら れ が 、 こ れ ら に つ い て の 理 解 は JavaScript 言 語 そ の も の の 理 解 を 促 進 す る も の で は な 成 し て い ま す 。 Date() 、 E Ⅱ 0 て ( ) 、 RegExp() は 確 か に 有 用 な JavaScript の パ ー ツ で す れ よ り も 、 JavaScript 言 語 を 理 解 す る た め 、 オ プ ジ ェ ク ト を 理 解 す る こ と を 中 心 に 構 先 に 述 べ た よ う に 、 本 書 は JavaScript の リ フ ァ レ ン ス ガ イ ド で は あ り ま せ ん 。 そ 本 書 に 含 め な か っ た の か ? な ぜ Date() 、 Error() 、 RegExp() を ン は ECMA-262 Edition 5 に な る で し よ う 。 ま す 。 現 時 点 で 最 も 広 く 実 装 さ れ て い る バ ー ジ ョ ン だ か ら で す 。 本 書 の 次 の バ ー ジ ョ 本 書 は JavaScript 1.5 (ECMA-262 Edition 3 と 同 等 ) の 仕 様 に フ ォ ー カ ス し て い な せ JavaScript 1.5 、 ECMA -262 Edition 3 な の か ? 本 書 は プ ロ グ ラ ミ ン グ 初 心 者 や 、 JavaScript 初 心 者 に は 向 い て い ま せ ん 。 級 者 か ら 中 級 者 で す 。 次 に 、 カ ー テ ン の 裏 を 覗 い て み た い JavaScript べ テ ラ ン で す 。 ク ト を 深 く 知 っ て 、 言 語 へ の 理 解 を 深 め た い と 思 っ て い る 一 歩 進 ん だ JavaSc ⅱ pt 初 本 書 は 2 種 類 の 人 た ち を タ ー ゲ ッ ト に し て い ま す 。 最 初 は 、 JavaScript オ プ ジ ェ

開眼!JavaScript-言語仕様から学ぶJavaScriptの本質


、 々 4 立 だ の 方 〃 / 愈 ん e 〃 〃 7 の な 開 眼 / JwaScript 言 語 仕 隶 か ら 学 ぶ JavaScript の 本 質 本 書 は 、 訂 avaScript の 言 語 的 特 性 で 知 っ て お く べ き ポ イ ン ト を ま と め た 書 籍 で す 。 JavaScript の 「 オ プ ジ ェ ク ト 」 の 理 解 を 中 心 に 据 え て 、 JavaScript を ひ と 通 り 経 験 し た 人 が 陥 り が ち な 落 と し 穴 で あ る this 、 プ ロ ト タ イ プ チ ェ ー ン ( 継 承 ) 、 ス コ ー プ チ ェ ー ン な ど を サ ン プ ル を 使 っ て 解 説 し ま す 。 コ ン パ ク ト に ま と め て い る の で 、 jQuery な ど の ラ イ プ ラ リ は 使 っ て い る が 言 語 仕 様 に は あ ま り 馴 染 み の な い 開 発 者 や 、 他 の 言 語 を 習 得 し て い て JavaScript の ク セ を 把 握 し た い エ ン ジ ニ ア が 、 短 い 時 間 で JavaScript の 特 性 に つ い て の 理 解 を 深 め る の に 最 適 な 書 籍 で す 。 「 ど の よ う に 」 、 「 な ぜ 」 動 作 す る の か を 知 る こ と で 、 JavaScript を 心 か ら 理 解 す る 「 目 覚 め 」 を 体 験 し て く だ さ い 。 0 REILLY 発 行 所 / オ ラ イ リ ー ・ ジ ャ パ ン

開眼!JavaScript-言語仕様から学ぶJavaScriptの本質


ⅵ ー 訳 者 ま え が き り ま せ ん 。 し か し 、 JavaScript の 実 行 環 境 が 多 様 性 を 増 し て く る と 、 今 後 の 開 発 を 見 一 = 五 」 の 基 礎 的 部 分 を 理 解 し て お く こ と が 重 要 に な り ま す 。 据 え て 「 JavaScript 新 諞 本 書 は 、 JavaScript の 「 オ プ ジ ェ ク ト 」 の 理 解 を 中 心 に 据 え て 、 JavaScript 言 語 を ひ と 通 り 経 験 し た 方 が 陥 り が ち な 落 と し 穴 で あ る this 、 プ ロ ト タ イ プ チ ェ ー ン ( 継 承 ) 、 ス コ ー プ チ ェ ー ン な ど を と て も 簡 潔 な 例 で ま と め て あ り ま す 。 こ れ ら の 要 素 は 、 今 後 新 し い バ ー ジ ョ ン の ECMAScript/JavaScript が 市 場 に 出 て き て も 、 JavaScript 、 一 が 存 在 す る 限 り 、 今 ま で と 変 わ ら す 決 し て 錆 び な い 要 素 と な る も の で す 。 と い つ 新 ⅱ ロ 読 み 物 の 分 量 と し て は の ポ リ ュ ー ム は 大 き く は あ り ま せ ん が 、 JavaScript 言 語 で 知 っ て お く べ き ポ イ ン ト を 簡 潔 に ま と め て あ る た め 、 本 書 を 読 む た め に 使 う 時 間 に 対 す る 学 習 効 果 が と て も 高 い も の に な っ て い ま す 。 JavaScript を あ る 程 度 ご 存 知 の 方 で あ れ ば ど な た に 対 し て も 効 果 は あ る と 思 い ま す が 、 特 に 以 下 の よ う な 方 に 本 書 を 読 ん で い た だ く と 最 大 の 読 書 効 果 を 得 ら れ る と 思 い ま す 。 ・ jQuery な ど の ラ イ プ ラ リ を 通 じ て JavaScript の 世 界 に 入 っ た も の の 、 仕 様 に は ま だ あ ま り 馴 染 み の な い 開 発 者 ・ 他 の 言 語 を 良 く 知 っ て い て 、 JavaScript 言 語 の 癖 を 把 握 し た い 開 発 者 読 者 の JavaScript レ ベ ル に よ っ て は 「 既 に 知 っ て い る 」 で あ ろ う 内 容 も 含 ま れ て い ま す 。 そ の よ う な 内 容 の 量 が 多 い 場 合 で も 少 な い 場 合 で も 、 い ま ま で 経 験 し た JavaScript の 理 解 を よ り 深 め る こ と の で き る 内 容 と な っ て い ま す 。 ま た 、 JavaScript 、 一 衄 を 好 む 開 発 者 の 方 に と っ て は 、 知 る こ と で よ り 楽 し く JavaScript を 使 う と い つ 新 ⅱ ロ こ と が で き る よ う に な る ト ピ ッ ク を 選 ん で い ま す 。 比 較 的 少 な い 時 間 で 読 め る 分 量 で す の で 、 リ フ ァ レ ン ス の よ う に 逆 引 き で 使 う よ り は 、 一 度 全 体 を 通 し て 読 み 、 必 要 に 応 じ て 後 日 読 み 返 し た り 、 本 書 の 終 わ り ( 付 録 B ) に 紹 介 さ れ て い る よ う な 別 の 書 籍 で そ の 知 識 を 強 化 す る と い う 方 法 が 効 果 的 で あ る と 思 い ま す 。 日 本 語 版 で は 、 原 書 で は カ バ ー し て い な い 部 分 で あ っ て も 、 想 定 さ れ る 読 者 に 向 け て カ バ ー し て お く べ き と 思 わ れ る 部 分 に つ い て 追 記 を 行 い ま し た 。 ま た 、 文 章 と コ ー ド を 補 完 す る 目 的 で 一 部 の 節 に 図 表 を 差 し 込 み ま し た 。 本 書 を 通 じ て 、 こ れ ま で 「 な ん と な く 理 解 し て い る よ う な 気 が す る 」 JavaScript を 心 か ら 理 解 す る 「 目 覚 め 」 を 経 験 し 、 皆 様 の JavaScript ラ イ フ を よ り 豊 か に す る た め の 要 素 に な れ ば 幸 い で す 。 五 ロ 二 1 一 口

開眼!JavaScript-言語仕様から学ぶJavaScriptの本質


は じ め に 本 書 は JavaScript の デ ザ イ ン パ タ ー ン や 、 JavaScript に よ る オ プ ジ ェ ク ト 指 向 プ ロ グ ラ ミ ン グ の 本 で は あ り ま せ ん 。 良 い JavaScript の 特 徴 を 悪 い 特 徴 と 区 別 し て い る も の で も あ り ま せ ん 。 JavaScript の 完 全 な リ フ ァ レ ン ス ガ イ ド で も あ り ま せ ん 。 プ ロ グ ラ ミ ン グ の 超 初 心 者 の た め の 本 で も な く 、 JavaScript を 全 く 知 ら な い 人 の た め の 本 で も あ り ま せ ん 。 レ シ ピ 満 載 の ク ッ ク プ ッ ク で も あ り ま せ ん 。 こ れ ら の 本 は す で に 存 在 し ま す 。 本 書 の 目 的 は 、 JavaScript に お け る オ プ ジ ェ ク ト を は じ め と す る さ ま ざ ま な 要 素 、 た と え ば オ プ ジ ェ ク ト そ の も の や プ リ ミ テ イ プ 値 、 ス コ ー プ 、 継 承 、 グ ロ ー バ ル オ プ ジ ェ ク ト な ど を 考 え る こ と に よ っ て 、 JavaScript の 正 確 な 世 界 観 を 提 供 す る こ と で す 。 本 書 は JavaScript の オ プ ジ ェ ク ト の 性 質 に つ い て 焦 点 を 当 て て お り 、 ECMA- 262Ed ⅲ 0n3 標 準 の 簡 潔 か っ 消 化 可 能 な 要 約 で も あ り ま す 。 も し あ な た が デ ザ イ ナ ー で あ っ た り 、 も し く は jQuery や Prototype な ど の ラ イ プ ラ リ を 介 し て JavaScript に 接 し て い る フ ロ ン ト エ ン ド 開 発 者 で あ れ ば 、 本 書 を 読 破 す る こ と に よ っ て 「 JavaScript ラ イ プ ラ リ ュ ー ザ 」 か ら 「 JavaScript 開 発 者 」 に 変 身 す る こ と が で き れ ば 幸 い で す 。 な せ 本 書 を 書 い た の か ? 最 初 に 認 め な け れ ば な ら な い の は 、 本 書 は 私 自 身 の た め に 書 い た も の だ と い う こ と で す 。 Kool-Aid ( 粉 末 ジ ュ ー ス ) を 飲 ん で そ の 味 を い つ も 覚 え て い た い か ら ・ ・ 0 「 コ い 換 え る と 、 自 分 の 記 憶 を 呼 び 起 こ す た め に 自 分 の 言 葉 で 書 い た リ フ ァ レ ン ス が ほ し か っ た と い う こ と で す 。 加 え て 以 下 の よ う な ね ら い も あ り ま す 。

開眼!JavaScript-言語仕様から学ぶJavaScriptの本質


訳 者 ま え が き 本 書 を お 手 に と る よ う な 方 は 既 に ご 存 知 の 通 り で す が 、 JavaScript は 「 web プ ラ ウ ザ 上 で 動 作 す る プ ロ グ ラ ミ ン グ 言 語 」 と い う ほ ば 独 占 的 な 地 位 を 長 い 間 守 っ て お り 、 一 般 へ の イ ン タ ー ネ ッ ト 普 及 も 手 伝 っ て 、 人 気 の 高 い プ ロ グ ラ ミ ン グ 言 語 の ひ と っ と し て 市 民 権 を 得 て い ま す 。 こ の 言 語 に 「 触 れ た こ と の あ る 」 開 発 者 の 数 を 数 え る と 、 相 当 数 に の ば る の で は と 思 い ま す 。 プ ラ ウ ザ 上 で 動 作 す る 別 の 言 語 と し て は 、 古 く は FIash 、 そ し て 近 年 は Dart な ど が 開 発 さ れ て い ま す が 、 現 在 の JavaScript の 地 位 が 近 い う ち に 他 に 脅 か さ れ る 可 能 性 は 少 な い で し よ う 。 ー 最 近 に 至 る ま で の 「 JavaScript 」 は 、 DOM と 組 み 合 わ せ た フ ロ ン ト 工 ン ド 開 発 に 限 定 さ れ て い た と い っ て も 過 言 で は あ り ま せ ん 。 JavaScript 言 語 の 持 っ 様 々 な 癖 と プ ラ ウ ザ の JavaScript 実 行 環 境 の 微 妙 な 非 互 換 性 が 融 合 し た 結 果 、 独 特 の 環 境 を 醸 し だ し て い て 、 他 の 言 語 や プ ラ ッ ト フ ォ ー ム で の 開 発 を お こ な う 開 発 者 に 避 け ら れ る こ と も あ り ま し た 。 し か し 最 近 は jQuery な ど 、 プ ラ ウ ザ 上 の JavaScript 環 境 の 乖 離 を 吸 収 し て 便 利 な 機 能 を 提 供 す る ラ イ プ ラ リ や 、 リ ア ル タ イ ム 通 信 や Web グ ラ フ ィ ッ ク な ど を 扱 う ラ イ プ ラ リ が 次 々 と 登 場 し 、 PC プ ラ ウ ザ 向 け だ け で は な く HTM べ ー ス の モ バ イ ル ア プ リ を 構 築 す る 機 会 が 増 え 、 さ ま ざ ま な 用 途 の た め の コ ー デ ィ ン グ パ タ ー ン が 数 多 く 開 発 さ れ て い ま す 。 JavaScript を め ぐ る 環 境 は 洗 練 さ れ て き ま し た 。 ま た 、 Node. js な ど の 登 場 に よ り 、 フ ロ ン ト エ ン ド 以 外 の シ ー ン で も JavaScript が 利 用 さ れ る 機 会 が 増 え て お り 、 「 フ ロ ン ト エ ン ド に 関 わ る た め 、 JavaScript を 避 け て 通 れ な か っ た 」 か ら 「 積 極 的 に JavaScript 言 語 を 使 っ て 開 発 」 と い う 流 れ も 形 成 さ れ つ つ あ り ま す 。 同 時 に 、 JavaScript と い う 高 ⅱ ロ 一 衄 が 持 っ 力 や 可 能 性 に つ い て も 認 知 が 進 ん で い ま す 。 プ ラ ウ ザ で 利 用 す る た め の JavaScript も 引 き 続 き 重 要 で あ る こ と は 疑 い よ う が あ

開眼!JavaScript-言語仕様から学ぶJavaScriptの本質


5 章 グ ロ ー バ ル オ プ ジ ェ ク ト い て の 混 乱 を 避 け る た め 、 一 般 的 に 通 り の よ い 「 グ ロ ー バ ル オ プ ジ ェ ク ト 」 を 使 用 し ま す 。 避 け る と い う 著 者 の 意 図 を 反 映 す る も の と し て 与 え ら れ て い ま す 。 し か し な が ら 日 本 語 訳 で は 、 用 語 に つ プ ジ ェ ク ト を 「 ネ イ テ イ ブ オ プ ジ ェ ク ト 」 ( 英 語 で は GIob Objects と 表 記 さ れ る こ と も あ る ) と の 混 同 を 1 ・ 訳 注 原 書 で は グ ロ ー パ ル オ プ ジ ェ ク ト を 「 HeadObject 」 と 表 記 し て い ま す 。 こ の 呼 称 は 、 グ ロ ー バ ル オ myFunction = function() { } ; myString = ・ myString ' ; var myFunctionVar = function() { } ; var myStringVar = ・ myString'; ー 印 0 の 谷 レ ・ se a/M Yc 、 か ど う か を 確 認 し ま す 。 次 の 例 は 、 JavaScript の 値 を 生 成 し 、 値 が window オ プ ジ ェ ク ト に 格 納 さ れ て い る れ 実 行 さ れ る 様 子 を 、 Web プ ラ ウ ザ の 場 合 を 例 に み て み ま し よ う 。 る よ う に 準 備 さ れ て い ま す 。 グ ロ ー バ ル オ プ ジ ェ ク ト 内 に ユ ー ザ 定 義 コ ー ド が 格 納 さ ら か じ め 定 義 さ れ て い る ネ イ テ イ プ コ ー ド を 格 納 し 、 ユ ー ザ 定 義 の コ ー ド を 保 持 で き グ ロ ー バ ル オ プ ジ ェ ク ト は JavaScript に よ っ て 裏 で 設 定 さ れ 、 JavaScript 言 語 で あ ロ ー バ ル オ プ ジ ェ ク ト を 持 た な け れ ば な り ま せ ん 。 ロ ー バ ル オ プ ジ ェ ク ト 」 と 言 わ れ ま す す 。 す べ て の JavaScript の 実 装 環 境 は 単 一 の グ window オ プ ジ ェ ク ト や 、 他 の 環 境 で window と 同 等 の 働 き を す る オ プ ジ ェ ク ト は 「 グ 内 に JavaScript を 格 納 し 、 window オ プ ジ ェ ク ト 内 で 実 行 す る 必 要 が あ り ま す 。 こ の し て 、 Web プ ラ ウ ザ 環 境 で JavaScript コ ー ド を 書 く 場 合 に は 、 window オ プ ジ ェ ク ト JavaScript の コ ー ド は オ プ ジ ェ ク ト に 格 納 さ れ て い る 必 要 が あ り ま す 。 そ の 例 と 5 ゴ グ ロ ー バ ル オ プ ジ ェ ク ト

開眼!JavaScript-言語仕様から学ぶJavaScriptの本質


x は じ め に ラ イ プ ラ リ の 使 用 は 「 プ ラ ッ ク ポ ッ ク ス 症 候 群 」 を 引 き 起 こ し ま す 。 ラ イ プ ラ リ の 使 用 は あ る 場 合 で は 有 効 か も し れ ま せ ん が 、 他 の 場 合 で は 有 害 か も し れ ま せ ん 。 ラ イ プ ラ リ を 使 う と 早 く 効 率 的 に こ と を 運 ぶ こ と が で き ま す が 、 こ れ が 「 な ぜ 、 ど の よ う に 」 う ま く 動 作 し て い る の か を 理 解 す る こ と が あ り ま せ ん 。 「 な ぜ 、 ど の よ う に 」 を 理 解 す る こ と は 、 何 か が う ま く い か な く な っ た 場 合 や 、 パ フ ォ ー マ ン ス に 問 題 が 起 こ っ た 場 合 に 本 当 に 重 要 で す 。 事 実 、 JavaScript の ラ イ プ ラ リ や フ レ ー ム ワ ー ク を 使 っ て Web ア プ リ ケ ー シ ョ ン ( も し く は 単 純 な 登 録 フ ォ ー ム ) を 実 装 す る に は 、 ラ イ プ ラ リ だ け で は な く 、 そ の 中 の エ ン ジ ン を 理 解 し て お く 必 要 が あ り ま す 。 本 書 は そ の よ う な 場 合 に 自 ら ボ ン ネ ッ ト を あ け て 、 中 の JavaScript 工 ン ジ ン を 触 り た い と 思 う 開 発 者 の た め の 本 で す 。 JavaScript 1.5 に つ い て は 、 一 番 tll)-to-date で か っ 完 全 な リ フ ァ レ ン ス ガ イ ド を MoziIIa が 提 供 し て い ま す (MoziIIa DeveIoper Network: https:// developer.mozilla.org/ja/docs/JavaScript ) 。 し か し こ の リ フ ァ レ ン ス に は 、 リ フ ァ レ ン ス ガ イ ド と 一 緒 に あ る べ き 、 単 一 の 観 点 を も っ て 書 か れ た 、 「 知 籤 」 と し て 消 化 可 能 な 書 類 が 見 当 た り ま せ ん 。 本 書 は リ フ ァ レ ン ス ガ イ ド が 提 供 し て い る JavaScript の 仕 様 を 越 え て 「 あ な た が 知 ら な け れ ば な ら な い こ と 」 の マ ニ ュ ア ル に な る こ と を 目 指 し て い ま す 。 JavaScript 1.5 は 今 後 も 長 い 期 間 標 準 的 な JavaScript と し て 存 在 し 続 け る は す で す 。 た と え 世 の 中 が ECMA -262 Edition 5 に 移 行 し た と し て も 、 変 化 し な い JavaScript の 礎 、 工 ッ セ ン ス を 書 き 留 め て 置 き た か っ た の で す 。 高 度 な レ ベ ル の プ ロ グ ラ ミ ン グ 言 語 の 本 は 、 巨 大 な サ ン プ ル コ ー ド や 、 意 味 の な い 紆 余 曲 折 に 満 た さ れ て い る こ と が あ り ま す 。 私 は 、 す ぐ に 動 作 で き る コ ー ド と と も に 書 か れ た 短 く ボ イ ン ト を 突 い た 説 明 を 好 み ま す 。 本 書 で 達 成 し よ う と し て い る こ と を 表 す 言 葉 と し て 「 技 術 的 な 薄 切 り 」 と い う 言 葉 を 作 り ま し た 。 複 雑 な ト ピ ッ ク を 小 さ く 消 化 可 能 な コ ン セ プ ト に 分 解 し 、 最 小 限 の 文 章 と 、 伝 え る こ と の み に 集 中 し た サ ン プ ル コ ー ド で 説 明 し ま す 。 世 の 中 に 存 在 す る 、 価 値 の あ る JavaScript の 本 は 、 ほ と ん ど が 3 イ ン チ く ら い の 厚 さ を 持 っ て い ま す 。 David Flanagan に よ る の 『 JavaScript 第 6 版 』 ( オ ラ イ リ ー ・ ジ ャ パ ン ) は 良 書 で す が 、 消 化 す る に は 厚 す ぎ ま す 。 徹 底 的 二 11 い

開眼!JavaScript-言語仕様から学ぶJavaScriptの本質


1 1 章 JavaScript オ プ ジ ェ ク ト 1 ゴ オ プ ジ ェ ク ト の 生 成 JavaScript の 世 界 で は 、 オ プ ジ ェ ク ト が 王 様 で す 。 こ の 世 界 で は 、 ほ ば す べ て が オ プ ジ ェ ク ト そ の も の か 、 も し く は オ プ ジ ェ ク ト の よ う に ふ る ま い ま す 。 オ プ ジ ェ ク ト を 理 解 す る と 、 き っ と JavaScript を 理 解 で き る こ と で し よ う 。 ま ず は JavaScript の オ プ ジ ェ ク ト 生 成 方 法 を 調 べ て み ま し よ う 。 オ プ ジ ェ ク ト は 、 名 前 の つ い た 値 ( プ ロ バ テ ィ ) の 集 合 体 を 格 納 す る コ ン テ ナ で す 。 実 際 の JavaScript の コ ー ド を み る 前 に 、 こ れ を 論 理 的 に 表 し て み ま す 。 例 え ば 、 私 自 身 (Cody) を 自 然 言 語 で テ ー プ ル に 入 れ る と 以 下 の よ う に な り ま す 。 cody プ ロ / ヾ テ ィ 名 プ ロ バ テ ィ 値 living a ge gender true 33 maIe テ ー プ ル の ヘ ッ ダ に あ る cody は 、 こ れ ら の プ ロ バ テ ィ 名 と 値 に よ っ て 構 成 さ れ る モ ノ の ラ ベ ル で す 。 こ れ ら の プ ロ バ テ イ か ら 、 私 は 生 存 し て い る 33 歳 の 男 性 で あ る こ と が わ か り ま す 。 し か し 、 JavaScript は こ の よ う な テ ー プ ル デ ー タ を 使 っ て 会 話 を す る わ け で は あ り ま せ ん 。 JavaScript は オ プ ジ ェ ク ト で 会 話 を し ま す 。 た だ 、 オ プ ジ ェ ク ト は こ の 例 の テ ー プ ル と ま っ た く 異 な る も の で は あ り ま せ ん 。 こ の テ ー プ ル を 実 際 の JavaScript オ プ ジ ェ ク ト に 変 換 す る と 以 下 の よ う に な り ま す 。

開眼!JavaScript-言語仕様から学ぶJavaScriptの本質


3.5 Object() オ ブ ジ ェ ク ト を オ ブ ジ ェ ク ト リ テ ラ ル で 生 成 す る 一 59 上 記 の コ ー ド で は 、 cody オ プ ジ ェ ク ト を 生 成 し て そ の プ ロ バ テ ィ を 設 定 す る た め に 5 文 を 使 っ て い ま す 。 オ プ ジ ェ ク ト リ テ ラ ル を 使 え ば こ れ を 1 文 に ま と め る こ と が で き ま す 。 : SI ene 0 var cody = { living: true, age: 33 , gender: 'male ・ getGender: function() { return cody. gender; } } ; / / 最 後 の プ ロ バ テ ィ の 後 ろ に は カ ン マ を つ け な い こ と に 注 意 ( onsole. 10g ( ( ody ) ; / / cody オ ブ ジ ェ ク ト と そ の プ ロ バ テ ィ を 出 力 オ プ ジ ェ ク ト リ テ ラ ル を 使 う と 、 関 連 す る デ ー タ を 一 箇 所 に 集 め た 形 で オ プ ジ ェ ク ト の 生 成 と プ ロ バ テ ィ の 設 定 を 少 な い コ ー ド 量 で 行 う こ と が で き ま す 。 た だ し 、 セ ミ コ ロ ン と カ ン マ の 使 い 方 に 注 意 し て く だ さ い 。 そ の 簡 潔 さ と 読 み や す さ か ら 、 こ の 方 法 が JavaScript で 望 ま し い と さ れ て い る オ プ ジ ェ ク ト の 生 成 方 法 で す 。 プ ロ バ テ ィ 名 は 文 字 列 リ テ ラ ル の 形 で 指 定 す る こ と も で き ま す 。 var cody ' living age : al ざ getGender ・ : function( ) { return cody. gender; } console. log(cody); / / cody オ ブ ジ ェ ク ト と そ の プ ロ バ テ ィ を 出 力 通 常 は プ ロ バ テ ィ 名 に 文 字 列 を 使 う 必 要 は あ り ま せ ん が 、 プ ロ バ テ ィ 名 が 以 下 の 条 件 に 該 当 す る 場 合 は か な ら す 文 字 列 ( ク オ ー ト で 囲 む ) で 指 定 す る 必 要 が あ り ま す 。 : true, す ・ JavaScript の 予 約 語 で あ る 場 合 (class な ど 戸 訳 注 JavaScript の 予 約 語 は 、 https://developer.mozilla.org/ja/docs/JavaScript/Reference/Reserved Words を 参 照 し て く だ さ い 。