質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Q&A

解決済

4回答

1268閲覧

なぜalert()には//で囲った文字列が出力できるのか

wp-h

総合スコア135

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

0グッド

0クリップ

投稿2017/01/27 09:10

掲題の通りなのですが、

<script> alert('test');//test alert("test")://test alert(12345);//12345 alert(/test/)// /test/ </script>

なぜスラッシュ/で囲った文字列は出力が可能なのでしょうか?
/iや/gが有効なので正規表現なのかと考えていますが

ご存知の方がいたらご教授願います。。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

yambejpさんが書かれているように

JavaScript

1alert(/test/);

JavaScript

1alert(new RegExp("test"));

と同じ意味に解釈されるようで。
ちなみに、

JavaScript

1alert(typeof "test"); 2alert(typeof /test/);

こうやると違いがわかりますね。

投稿2017/01/27 10:05

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takasima20

2017/01/27 10:09

しかし、面白い着眼点の質問ですねえ。 自分の直感的な動きと違ってて 動かしたら「おおー!」ってなった。(^_^;
wp-h

2017/01/28 07:46 編集

なるほど、納得のいく理解ができました。ありがとうございます。 解決方法を示していただいたこちらの回答をベストアンサーに選択したいと思います。 なぜ動作するのか説明できないものは使いづらいので、、、(笑) 私も上記のコード動かしたらなるほどなーーー!!!と驚嘆しました。
guest

0

スラッシュで囲ったものは正規表現のパターンとみなされます

javascript

1var r1=new RegExp("test","mig"); 2console.log(r1); 3var r2=/test/mig; 4console.log(r2); 5

投稿2017/01/27 09:24

yambejp

総合スコア114581

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wp-h

2017/01/28 08:08

やはり正規表現として扱ってくれるのですね。 ただalert()で使える理由が理解できなかったので。。
guest

0

正規表現リテラルの記述方法です。
これをコンソールやアラートで表示する場合は//で囲まれた文字列が表示されます。

投稿2017/01/27 09:16

yamato_hikawa

総合スコア2092

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

alertに文字列以外を与えた場合、数値等が文字列化されて表示されるように、正規表現も文字列化されて表示されているのでしょう。

投稿2017/01/27 09:18

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問