最近は『JavaScriptのプログラミングのツボとコツがゼッタイにわかる本 』を読んでいました。以前はVBAを勉強していたのですが、それに慣れてからはもっと新しいことができるようにと、ちょっとずつ他のプログラミング言語も見るようにはしていました。
それで気づいていったことは、他のプログラミング言語もVBAと同様に変数とか条件分岐があるということです。新しい言語を始める時に一から全て勉強し直すのではなく、たぶん何か元となる言語を勉強しさえすれば他の言語を勉強するときにぐっと楽になるんじゃないかと思います。
このようなことが感じ取れたことは、新しい言語を勉強する時の心理的ハードルを大きく下げてくれました。けれどもやはり、言語ごとに微妙な違いはあるものです。その中の一つで大きく印象に残ったのが「操作対象を相対的に取得する方法」です。
JavaScriptもVBAと同様に相対的位置の違いで操作対象を取得する方法があります。それはJavaScriptでもいくつかあるのですが、その中の一つに「nextSiblingプロパティ」と呼ばれるコードがあります。
おそらく、VBAでnextSiblingプロパティに対応する、もしくは似ているのが「offsetプロパティ」というコードになるかと思いますが、ちょっと感覚が違ってきます。
過去記事にも書きましたが、JavaScriptの操作対象は基本的には「HTMLやCSS」というコードになるので、JavaScriptを使うことはコードでコードを操作するとも言えます。
そのうえでさらに、「コードの中から、ある箇所の相対的位置からのコードの取得」という手法がnextSiblingプロパティになります。ExcelVBAのoffsetプロパティとは、機能としては似ているのですが微妙に違ってきます。
JavaScriptを勉強してきて
「あぁ、こういったコードもあるんだな」
「JavaScriptってこういう考え方をするんだな」
と、VBAと比較しての視点の違いというか、そういった部分も含めて理解できないとJavaScriptを理解するのは難しいかもしれないと感じました。
ここ最近はJavaScriptについて、VBAと比較した場合どういった感じで違うのかついて書いてきました。ですから、JavaScriptでこういったコードでこういったことができます、といった内容ではなくVBAと比較した場合だとこういった感じで考え方が違いますよ、といった形で書いています。
そのため、今までVBAを勉強してきた人が、次にどんなプログラミング言語を勉強するか考えた時のひとつの参考資料として読んでもらえればと思います。