JavaScript

1: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 16:42:04.45 ID:ZsWrBm0M0

まずはNode.jsをインストールしろ話はそれからだ

スポンサードリンク

Download:http://nodejs.org/
nodejs

2: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 16:42:26.57 ID:hzAFYxvI0

一方俺はコボルから始めた


3: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 16:57:50.90 ID:ZsWrBm0M0

インストールしたかてめぇら


4: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 16:59:13.96 ID:2B5lF2zi0

javaでいい?


5: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:00:43.36 ID:ZsWrBm0M0

Androidアプリ作りたかったり何でもいいから手に職つけたいんじゃなかったらやめとけ
やりたいならJDKとEclipseインストールしてこい


7: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:04:28.54 ID:2B5lF2zi0

Visual Studioなら入ってる


8: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:05:40.07 ID:ZsWrBm0M0

Node.jsのインストールが済んだら返事だてめぇら


10: 忍法帖【Lv=26,xxxPT】(1+0:15) 投稿日:2014/03/09(日) 17:07:26.55 ID:ivIWlfOO0

おk


13: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:08:31.31 ID:Aik9j3yC0

Node.js入れたぞ


14: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:10:08.23 ID:ZsWrBm0M0

Node.jsはブラウザを介さないでJavaScriptを実行できる環境だ
サーバサイドがどうのよく言われてるしそっちがメインだが別にサーバの機能を使わなくても便利に使える
Windows, Mac, Linux何でも動くからとりあえずインストールしてこい


15: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:11:53.00 ID:ZsWrBm0M0

インストールしたならWindowsならコマンドプロンプト、MacならTerminalを起動しろ
Linux使ってる奴には説明する必要ないだろうから言及しない
それで「node」って打ってエンターをターンッしろ


18: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:13:57.29 ID:RCfnR+Gu0

Node.js知らないから大人しくみてることにしよう


19: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:16:21.17 ID:ZsWrBm0M0

「node」って打ったら「>」と表示されただろ
Node.jsが対話モードで起動している状態だ、Rubyのirbみたいなもんだ
ここにJavaScriptを1行書き込めばその場で実行され、結果(式の戻り値)が表示される


22: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:19:27.92 ID:ZsWrBm0M0

とりあえずプログラミングとか置いといて、ただの計算機として使ってみろ
四則演算は足し算引き算が+-、かけ算は*、わり算は/だ
「1 + 1」を実行すれば2が戻り値として返ってくる

cmd


23: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:19:45.22 ID:2B5lF2zi0

Node.js入れないとダメそうだったらインストールするわ
続けて


24: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:20:24.72 ID:GllpKlDX0

戻り値の説明しなきゃダメだろwww


28: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:21:53.43 ID:ZsWrBm0M0

ここはプログラミング初めての奴は読まなくていい、他の言語やったことある奴だけ

JavaScriptでは整数と小数を明確に区別しない
必要があれば自動で変換されるからその辺は気にしなくていい
だが小数と小数で計算すると誤差が起きることがあるからなるべく避けるべき


30: 忍法帖【Lv=26,xxxPT】(1+0:15) 投稿日:2014/03/09(日) 17:22:25.97 ID:ivIWlfOO0

それはやくいえよ・・・


32: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:24:36.80 ID:ZsWrBm0M0

数値の扱いはだいたい分かったと仮定し、次は文字列を扱いたい
とりあえず「a」と入力して実行してみろ

エラーが表示される、エラーは友達だから仲良くなっておけ、決して恐れず嫌うこともするな


36: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:27:18.11 ID:ZsWrBm0M0

エラーの詳細についてはあとで説明するとして「a」とそのまま書いてもJavaScriptで文字列として扱ってくれないことは分かったと思う

文字列を扱うにはダブルまたはシングルのクォーテーションで囲め
その間に書いたものが文字列として扱われる

「"a"」または「'a'」と入力して実行してみろ、これで文字列を作成できる

cmd2


33: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:25:46.29 ID:gJgmx7/W0

マジレスすると
c→c#(java)→c++→c#
が最強


37: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:29:08.22 ID:ZsWrBm0M0

コンパイラ型言語はプログラミング初心者には敷居が高すぎるからJavaScriptを選んだ
まず環境を構築する時点で逃げ出すだろう
特に、何かをやりたい(目的が無い)奴でないならなおさら


39: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:30:32.35 ID:ZsWrBm0M0

文字列同士も数式のように演算が可能だ、ただし「+」だけだ
「"a" + "b" + "c"」とやってみろ、"abc"が返ってくる


45: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:39:45.57 ID:2B5lF2zi0

"'"+'"'か
なるほど


41: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:33:40.39 ID:2B5lF2zi0

質問
"a"と'a'の違いは無いの?


43: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:37:41.79 ID:ZsWrBm0M0

>>41
無い
たとえば、"aaa"という文字列の中で「"」という記号自体を入れたいとき、それを入れるとそこで文字列が終わってしまうので非常に困る
そんなときは'aaa"aaa'とシングルのほうでやれば簡単に解決する、逆もしかり、それだけ

エスケープ文字というのでも解決できるがそれはまたあとで


42: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:35:51.49 ID:ZsWrBm0M0

なんか初心者の奴らはもう付いてきてないきがするが続ける

次は変数だ
これはふくろみたいなもので、何でも好きなモノを入れることができる
これを作るには「var 変数名」と打ち込む
(「var」は忘れずつけること。忘れると身内に不幸が起こる)

んで、変数にモノを入れるには、「変数 = モノ」のように「=」を使う

「var hensuu」と打ち込み「hensuu = 1」とやってみろ
次に「hensuu」と打ってみろ 「1」が表示されたはずだ


46: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:41:30.95 ID:ZsWrBm0M0

変数にモノを入れることを「代入」と呼ぶ
「=」は「代入演算子」と呼ぶ。算数の「=」とは役割が全く違うので注意が必要だ

さっそく変数を使ってみれ。宣言と代入は同時に実行可能だ
「var unko = 1」
「var kuso = 2」
「var shit = 3」

上の3行を実行した後に「unko + kuso + shit」とやって実行してみる
もちろん「6」が表示される


47: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:43:35.78 ID:ZsWrBm0M0

もちろん文字列も可能だ
このふくろには何でも入るんだ

「var a = "maki"」
「var b = "guso"」

「a + b」 → 「"makiguso"」


49: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:50:47.88 ID:ZsWrBm0M0

数値からは出来ないのだが、文字列には命令を与えることが出来るんだ
なぜそうなのかは、さておく

命令を与えるには「.」と入力し、続けて決められた文を入力するだけ
ためしに「"aaa".length」と入力してみると、その文字列の文字数が分かる

ここでは3文字だから目で数えてもいいが、1万文字だったときでも一瞬で数えてくれる


60: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:00:04.04 ID:PGsHi3bU0

>>49
さておいてんじゃねーぞこら
自分自身が何なのかをわかってるから命令できるんだろ


65: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:10:33.61 ID:ZsWrBm0M0

>>60
だってプリミティブ型とオブジェクトの違いどう説明すんだこれ
むりぽ疲れた
あとはMozziaに任せるわ
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Values,_variables,_and_literals


51: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:54:06.38 ID:TxtJFM2U0

node.jsようしらんけどvar必須なんか?
まあvarつけさせた方が他の言語に入る時のコーディングルール的にもいいんだろうけど


57: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:56:36.63 ID:ZsWrBm0M0

>>51
理由は割愛するが、必須と言い切っておく


50: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 17:53:57.61 ID:ZsWrBm0M0

そろそろ飽きてきたころだろうから、一つJavaScriptの強力な機能を紹介する
「正規表現」というものだ
ていうかそろそろ飽きてきたからこれ説明したらやめるかもしれない

これはJavaScriptの範疇から少しはずれてしまうんだけど、覚えるとJavaScript以外でもけっこう使えるとこ多いのでおすすめだ


54: ようじょ☆ 投稿日:2014/03/09(日) 17:55:09.59 ID:IvMjSTw10

みーつけた☆


58: ゆうじょ☆ 投稿日:2014/03/09(日) 17:56:52.94 ID:+ikIo4Lt0

みーつけた☆


62: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:03:27.20 ID:2B5lF2zi0

よく知らないけどNumber使う感じ?


63: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:08:16.54 ID:ZsWrBm0M0

正規表現の作り方は文字列に似ているが、「/」で囲む

たとえば"aaacaa"という文字列のcをaに変えたいとき
JavaScriptでは"aaacaa".replace(/c/, "a")とするだけで事が済む

だが正規表現はもう少し抽象的に文字列を指定できるんだ
何かいいたとえが思いつかないんだが、、、

「apple angle」という文字列のaとそれに続く3文字を削除して「anime anime」にしたいとしよう
正規表現では、文字種を指定しない1文字を「.」として表現することができる

なので

「"apple anime".replace( /a.../, "anim")」とすればどちらもanimeになる
詳しい解説はやめとくのでググってくれ、ていうか何か疲れた
ていうか初心者ぜんぜんついてきてないだろうなこれ


64: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:10:07.33 ID:BII6mMzL0

jsFiddle でよくね?っていう


66: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:11:23.40 ID:ZsWrBm0M0

>>64
ほんとはNode.jsを使ってファイル整理とかそういうこと説明したかったけど無理だった


67: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:13:08.50 ID:BII6mMzL0

それなら WSH + jscript の方が…ケチ付けてばっかりでごめんね


70: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:15:37.71 ID:ZsWrBm0M0

>>67
そう、それも説明したかったし、だからこそJavaScriptを覚えてほしかったんだ
JScriptには対話モードがなくてちょろっと実行させたいときとか不便だからNode.jsを入れてもらった
ブラウザのコンソール使えばってツッコミはやめて


68: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:13:32.23 ID:TxtJFM2U0

javascriptは、メモ帳でHTMLファイル作って、アラートとかどきゅめんとらいとでわかりやすく表示させるとこから始めた方が取っ付きやすい気がする。
コマンドプロンプト、つまらないんじゃね


71: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:17:23.16 ID:ZsWrBm0M0

>>68
俺はHTMLファイル作るのがめんどくさくて仕方ないんだよなぁ
ブラウザに紐づかない形でJavaScriptを使いたかった

俺だけかもしれないからそうやって説明したほうがよかったかもね


72: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:23:57.99 ID:ZsWrBm0M0

あ、ごめん忘れてた
対話モードのNode.jsを終了するときは「Ctrl + c」を数回押せばいい

もう初心者は見てないだろうけど
テキストファイルにJavaScriptを書いて「○○.js」って名前で保存して

「node (○○.jsのパス)」って書けば実行できる
この場合は戻り値がコンソールに表示されない
コンソールに文字列を表示したいときは「console.log("文字列")」って書く


74: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:27:28.10 ID:ZsWrBm0M0

そして誰もいなくなったので俺も去ることにする

あとJScriptっての使えばWindows限定だけど色んな作業が自動化できるからとにかくJavaScriptおすすめ、じゃあな駄文すまんこ


76: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:28:59.47 ID:RCfnR+Gu0

覗いておいて良かったかもしれん
JavaScriptの正規表現使えるなら、Objectivc-cからjs呼び出しできるし、正規表現した結果を得やすい


77: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:29:12.97 ID:BII6mMzL0

自動化なら powershell もいいよ
JavaScript と違って他に応用は利かないけど


79: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:31:33.06 ID:2B5lF2zi0

自動化とは?


81: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:34:05.06 ID:BII6mMzL0

例えば録画した動画ファイルまとめて時間決めてエンコしたいときとか
毎月、何かのログファイルとかキャッシュを ○ヶ月分残してあと消すとか
いろいろだよ


82: 以下、名無しにかわりましてVIPがお送りします 投稿日:2014/03/09(日) 18:35:21.80 ID:2B5lF2zi0

なるほど
気が向いたら調べてみる


元スレ:http://viper.2ch.net/test/read.cgi/news4vip/1394350924/