【Python/JavaScript比較】PythonディベロッパーがJavaScriptを始めてみた結果:List/Array編
JavaScript始めました。
というのもPythonでWebAppなどを作っているとやっぱりどうしても避けては通れないというか
手を出したくなる魅力があるというか、むしろ知らないといけないのではというのが動機です。
さすがはWeb開発で大人気のJavaScript。
便利で、とても優秀。
DOMでHTMLいじくれるのもとても快感。
Google Chrome Extension もJavaScriptが使えれば作れるので、欲しい機能があれば、さくっと作れるのも魅力的。
(作るのが楽しくて、車輪の再発明をしがち)
PythonとJavaScript:似て異なるモノ
もともとはPython大好き人間のかつJavaScript初心者の私。
JavaScriptを書く時は、だいたい頭の中ででPython Scriptを書いて変換して書いております。
使われる分野は違えど、PythonもJavaScriptも同じScript言語、個人的に文法も似ているものと認識しています。
ただ書き方がやや異なるので今回はその辺について備忘録的に書き残していこうと思います。(毎回調べるのもアレなので)
今回はPythonのListとJavaScriptのArrayの書き方の比較を記していこうと思います。(そこはそうじゃなくてこっちの方が正しいよー!もしくはもっといい方法あるよー!というかたはコメントいただけると幸いです!)
対象読者
Pythonの知識はまぁまぁあるが、JavaScriptは初心者。
PythonのListとJavaScriptのArray
何はともあれ、List/Arrayの基本的なところから見ていきましょう。
Pythonでの基本的なListの書き方。
name_list = ['John', 'Mark', 'Jane']
次に、JavaScriptの基本的なArrayの書き方。
var nameArray = ['John', 'Mark', 'Jane' ];
まず何をするにしても、変数を
var
で宣言します。
で変数の書き方は「nameArray」のようにキャメルケース🐪🐫
そしてPythonのリストのように記述し、
最後にセミコロン”;” ! !
と、基本はそこまで深掘りせず、早速、PythonのListとJavaScriptのArrayを比較していきましょう!
List/Arrayへの要素の追加
【末尾】Python: append() と JavaScript: push()
何か新しい要素をList/Arrayの最後に付け加えたい時
Pythonであればappend()を使います。
#python name_list = ['John', 'Mark', 'Jane'] name_list.append('Emma') print(name_list) # output # [ 'John', 'Tim', 'Jane', 'Emma' ]
一方、JavaScriptの場合はpush()を代わりに使います。
//javascript var nameArray = ['John', 'Mark', 'Jane' ]; nameArray.push('Emma'); console.log(nameArray); // output // [ 'John', 'Tim', 'Jane', 'Emma' ]
【先頭】Python: insert() と JavaScript: unshift()
新しい要素をList/Arrayの先頭にに付け加えたい時
Pythonでは末尾以外に要素を付け足す場合には、insert()を使ってあげる必要があります。
#python name_list.insert(0, 'Kate') print(name_list) # output # ['Kate', 'John', 'Tim', 'Jane', 'Emma' ]
一方、JavaScriptにはそれ用のunshift()が存在します!
//javascript nameArray.unshift('Kate'); console.log(nameArray); // output // [ 'Kate', 'John', 'Tim', 'Jane', 'Emma' ]
【任意】Python: insert() と JavaScript: splice()
任意の箇所に要素を付け足したい場合
Pythonであれば、既出のinsert()の第一引数に挿入したい位置を指定します。
#python name_list.insert(2,'Sam') print(name_list) # output #['Kate', 'John', 'Sam', 'Tim', 'Jane', 'Emma']
そしてJavaScriptの場合はsplice()で、第一引数に挿入したい位置をPython同様指定します。第二引数には、削除する要素の数をしてすることができますが、今回は削除では無く挿入なので'0'を指定します。そして第三引数に追加したい要素を記入します。
//javascript nameArray.splice(2,0,'Sam') console.log(nameArray) // output //['Kate', 'John', 'Sam', 'Tim', 'Jane', 'Emma']
List/Arrayの要素の取得
PythonではよくListの中の要素を取り出して使ったり、Listの長さを取得したり、とListの情報を取得したい場合が多々あります。それはJavaScriptでも同様にありけり。です。
【任意】Python 、 JavaScriptほぼ同じ
これはPythonもJavaScriptも同じですね。
List/Array名の後に"[0から始まる任意の位置]"
#python print(name_list[1]) # output #John
//javascript console.log(nameArray[1]); // output //John
【List/Arrayの長さ】Python: len() とJavaScript: length
#python print(len(name_list)) # output #5
//javascript console.log(nameArray.length); // output //5
【Slice】指定した位置から、複数の値をを取得
PythonのListにおけるSliceはList名の後に任意の範囲を[1:3]のように始点と終点のIndexを、コロンを挟む形で指定します。この際終点は含まれません。
#python #[ 'Jane', 'John', 'Kate', 'Sam', 'Tim' ] slice_1 = name_list[1:3] slice_2 = name_list[2:] print(slice_1) print(slice_2) # output #['John', 'Kate'] #['Kate', 'Sam', 'Tim']
一方JavaScriptの場合はslice(始点,終点)で範囲を指定します。
Python同様、終点は範囲に含まれません。
//javascript //[ 'Jane', 'John', 'Kate', 'Sam', 'Tim' ] slice1 = nameArray.slice(1,3); slice2 = nameArray.slice(2,); console.log(slice1) console.log(slice2) // output //[ 'John', 'Kate' ] //[ 'Kate', 'Sam', 'Tim' ]
と、まぁこのくらい分かればなんとかなるかなArrayに関しては。個人的に。
とりあえずArrayはこのくらいにして、
今後また、PythonでいうIf構文やForループ、Function、ClassのJavaScriptバージョンをまとめていけたらなと思います(自分のためにも)。
それでは
皆さんの良きPython/JavaScriptライフを祈っております!
ありがとうございましたー!