Skip to Content
ハンズオンJavaScript
book

ハンズオンJavaScript

by あんどうやすし
November 2020
Intermediate to advanced
740 pages
9h 12m
Japanese
O'Reilly Japan, Inc.
Content preview from ハンズオンJavaScript

11章メタプログラミングを学ぶ

metaメタ-」は「高次-」や「超-」を意味する接頭辞で「『語幹』を対象とした『語幹』」という意味の単語を作ります。たとえば「メタフィクション」は「フィクションについてのフィクション」という意味で、登場人物による小説自身への言及や小説を批評する小説を指し、「メタアナリシス」は「解析(アナリシス)結果の解析(アナリシス)」という意味で、複数の研究結果をまとめて統計的に解析することやその結果を指します。

プログラミングにもメタプログラミングと呼ばれるテクニックがあります。プログラミングは言い換えると「コードを記述すること」です。つまりメタプログラミングは「コードを記述するコードを記述する」と言い換えられます。コードを記述するコードというと、たとえばオブジェクトのtoJSON()メソッドを使用してJSONを生成するようなコードもそこに含まれるように思うかもしれませんが、一般にそのような単純なコードジェネレータはメタプログラミングには含まれません。メタプログラミングは通常「自分自身のコードを対象としたプログラミング」を意味します。

一般にいわゆるスクリプト言語はメタプログラミングが得意だとされています。スクリプト言語はほとんどがインタプリタ型でソースコードを逐次的に解釈しながら実行するため、実行前にソースコード全体を一括で変換しておく必要のあるコンパイラ型の言語と比べて、実行時の割り込みや変換の自由度が高い傾向があります。

インタプリタ型言語とコンパイラ型言語

プログラムは文字列としてのソースコードを、コンピュータ内部で利用できる形式に変換したあとで実行されます。この変換と実行をどのようなステージに分けて実行するかによって、プログラミング言語は

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

アルゴリズムクイックリファレンス 第2版

アルゴリズムクイックリファレンス 第2版

George T. Heineman, Gary Pollice, Stanley Selkow, 黒川 利明, 黒川 洋
Python機械学習クックブック

Python機械学習クックブック

Chris Albon, 中田 秀基
オブザーバビリティ・エンジニアリング

オブザーバビリティ・エンジニアリング

Charity Majors, Liz Fong-Jones, George Miranda, 大谷 和紀, 山口 能迪
プログラミングRust 第2版

プログラミングRust 第2版

Jim Blandy, Jason Orendorff, Leonora F. S. Tindall, 中田 秀基

Publisher Resources

ISBN: 9784873119229Other