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

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

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

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

Q&A

解決済

1回答

950閲覧

thisはなぜいるのか

k0908

総合スコア102

JavaScript

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

0グッド

0クリップ

投稿2018/10/23 11:13

this.now = new Date().toLocaleString();

のthisはなぜ必要なのでしょうか?

now = new Date().toLocaleString();

ではダメなのでしょうか?

<div id="app"> <button v-on:click="onclick"> Click! </button> <p> {{ now }} </p> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.13/dist/vue.js"></script>

とhtmlにかき

var app = new Vue({ el:'#app', data:{ now:'' }, methods:{ onclick:function(){ this.now = new Date().toLocaleString(); } } })

とjsに書きました。

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

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

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

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

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

think49

2018/10/23 11:28

なぜコードを書いた人に直接尋ねないのでしょう?コードの意図はコードを書いた本人でなければ、分かりません。
m.ts10806

2018/10/23 15:06

実際に試された上なのですよね?もっと自身が試したことや調べたことを記載してください。またこれまでの質問とかわって急に「Vue.js」のタグがなくなっていますが、どのような意図がありますか?
guest

回答1

0

ベストアンサー

そこはクラスを定義しているように見えなくもないですが、疑似的にそれっぽくかけるようvuejsが計らってくれているだけだと思います。なので、nowとかいてもthis.nowと解釈してくれるわけではません(app(vueインスタンス)のプロパティやメンバとして解釈してくれるわけではない)。

で、それらしくかけるようにするために、質問された個所のthisにはapp(vueのインスタンス)が入っていて、this.nowと書く必要があるわけです。デバッガでthisが何かを確認してもらえばわかります。

※用語が正しいか不安ですが、そんなかんじです。

投稿2018/10/23 11:25

編集2018/10/23 11:33
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問