トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     strictモードについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ebi
Åê¹ÆNo.49441
投稿日時: 2012-10-17 20:37
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
strictモードについて
えびです。おひさしぶりです。
AS3はじめました。またお世話になります。(-人-)

rootに配置されたMC内から以下のようにして、

root.gotoAndStop("らべる");

まんまと「1061: 未定義である可能性のあるメソッド gotoAndStop を(以下略)」
と怒られてしまいました。これについては、
MovieClip(root)とするか、strictモードをOFFする事で解決できると分かりました。

お尋ねしたいのはこの「strictモード」についてです。
単刀直入、これは何なのでしょう?
「そんなの自分で調べろ!」という声が聞こえてきそうですが、
案外「strictモードとはこういうもの」というズバリの情報に行きつかないもので…
(多いのは前述のようなエラーに対する対応法として「OFFにしましょ」的な)

strictというからには厳密にチェックされるんだろうなーと予想はつくのですが、
エラー対処法という感じで「OFFにしましょ」とわりとアッサリ書かれているので、
「あれ? だったら、最初から無くても良くない? 」と思ったり、
「いやいや、わざわざ存在してデフォルトONって事は何か意味が… 」と思ったり、
かと思えば、strictモードをOFにした状態は「standardモード」と呼ばれると知り、
「スタンダード…標準…こっちか!? 」とまた混乱したり…

というわけで、思い切ってお尋ねしようと思いました。
前置き長くなりましたが、お尋ねしたいのは2つです。

1.一般的にはstrictモードはONなのでしょうか。OFFなのでしょうか。
  それによりscriptが変わってくるとなるとこれから勉強してくにあたり、
  わりと大きな分岐な気がしまして。

2.strictモードのON/OFFによって実行時の動作に影響があるのでしょうか?
  コンパイル時のチェックのみに関係するもので実行には影響ないのか、
  実行時の動作に大きく影響するのか、影響するけど知れたもの程度なのか、
  どうなのでしょう。

以上、宜しくお願いします。
野中文雄
Åê¹ÆNo.49442
投稿日時: 2012-10-18 6:06
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: strictモードについて
ほぼ「ズバリの情報」かと。

rootプロパティでメインタイムラインの関数にアクセスできない
引用:
ebiebiさんは書きました:
案外「strictモードとはこういうもの」というズバリの情報に行きつかないもので…
(多いのは前述のようなエラーに対する対応法として「OFFにしましょ」的な)

1. デフォルトでは「strictモードはON」です。データ型の指定と似て、外してもスクリプトが正しく書かれていれば動きます。ただ、プログラムをかっちり書きたい人たちは、一般的に活用していると思います。

2. 上述のとおり、スクリプトが正しければ動作に問題はありません。strictモードを外すと、実行時にエラーがあってもそれを示さず、黙って動かないことがあります。
引用:
1.一般的にはstrictモードはONなのでしょうか。OFFなのでしょうか。
  それによりscriptが変わってくるとなるとこれから勉強してくにあたり、
  わりと大きな分岐な気がしまして。

2.strictモードのON/OFFによって実行時の動作に影響があるのでしょうか?
  コンパイル時のチェックのみに関係するもので実行には影響ないのか、
  実行時の動作に大きく影響するのか、影響するけど知れたもの程度なのか、
  どうなのでしょう。


----------------
 

ひろゆき
Åê¹ÆNo.49445
投稿日時: 2012-10-18 12:44
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: strictモードについて
端的に言えば、「エラーを出力してくれるのは、有り難い」ってことです。
もうこれに尽きます。


むしろ、strictをオフにする意味の方が分かりません。
standardってのは、そっちが基準というわけではなくて、
strictの対義語として適切な命名ができずに、standardになったのではないかと。
その証拠に、デフォルトは、strictです。
個人的には、standardモード使ったことないです。

AS3.0の触り始めは、なにをするにもエラーが出力されちゃうことばかりで、
うるさく感じることもありましたが、いまではエラーが出ないとむしろ不安です。

お前のこのコードの記述のしかた間違ってるやん!って通知してくれるってことなので、
エラーには慣れてください。さもなくば、AS3.0は断念すべき。

あと、strictをオフにすると、
おせっかいなコンパイラがエラーを通知しないので、うるさくなくなった、というだけで、
自分が書いたスクリプトのエラーがなくなったわけではないので。

まぁ、なんでもかんでもFlashがいい感じに調整してくれるAS2.0の流儀は
通用しないということです。はい。
むしろ、エラーを吐かれたときは、そのエラー内容が解決のヒントになるので、
質問などする際にも、より具体的に提示すべきでしょうね。
なんかエラー出ました。は、何の情報提供にもならない。

実験的に、stirictをオフにして、1ヶ月くらいAS3.0やってみてはどうですか?
エラーが出力されずに静かになる代わりに、AS3.0の学習は進まなくなると思いますけど。
エラーが出て半人前、エラーに対処できて一人前。かと。


----------------
質問する際は、回答者に具体的な情報を与えてください。

ebi
Åê¹ÆNo.49446
投稿日時: 2012-10-18 14:20
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: strictモードについて
野中さん、こんにちは。(´ー` )」

ご紹介頂いた記事「ズバリ」でした。ありがとうございます。
同じ並びのAS3.0の項目も読ませていただきます。感謝です。

引用:
スクリプトが正しければ動作に問題はありません。
ちなみにstrictモードでエラーが出るスクリプトでも、
standardモードではエラーが出ないスクリプトなら
“正しいスクリプト”と言って良いものなのでしょうか。
(「野中さんが」的な揚げ足とりな意味でなく一般的に)


ebi
Åê¹ÆNo.49447
投稿日時: 2012-10-18 15:15
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: strictモードについて
ひろゆきさん、ご回答ありがとうございます。

こちらは感覚的な意味で、ズバリ!ドーン!でした。
どちらかというと求めていたのはこっちかもです。

strictオフ or キャスト――と並んだ対処法は、
「どっちでもいいけどどっちにしとく?」程度にも
受けてとれちゃいますが、やっぱ重要ですよね。
デフォルトじゃないのにstandard?の謎もスッキリ納得です。

引用:
むしろ、strictをオフにする意味の方が分かりません。

おせっかいなコンパイラがエラーを通知しないので、うるさくなくなった、というだけで、
自分が書いたスクリプトのエラーがなくなったわけではないので。
ん!正にそういう事ですね。( ・`ω・´)納得です。
最初からこう言われば、ふわっとした感じにならなかったんですが。
っていうか、そもそも、なぜモードが2つ用意されてるんでしょうかねぇ。

引用:
実験的に、stirictをオフにして、1ヶ月くらいAS3.0やってみてはどうですか?
いやいや、実験的にというか strictモードでやりますよ。
楽なのドッチ? みたいな事を尋ねたかったわけではないので。

引用:
エラーが出て半人前、エラーに対処できて一人前。
これとか石碑にしとくと良いかも!
野中文雄
Åê¹ÆNo.49448
投稿日時: 2012-10-18 16:08
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: strictモードについて
ランタイムがチェックしないものを、承知で書いて動いているかぎり「正しいスクリプト」といえるでしょう。ただ、「良い習慣」(good practice)とはいえず、何かの弾みにヘタこくよ、という警告をstrictモードは伝えています。

ちなみに、前の回答で例に出したデータ型の指定は、その型によって書出すバイトコードが最適化されます。したがって、動くという結果は変わらなくても、正しく指定した方がランタイムでもお得です。
引用:
ebiebiさんは書きました:
ちなみにstrictモードでエラーが出るスクリプトでも、
standardモードではエラーが出ないスクリプトなら
“正しいスクリプト”と言って良いものなのでしょうか。
(「野中さんが」的な揚げ足とりな意味でなく一般的に)


----------------
 

ebi
Åê¹ÆNo.49464
投稿日時: 2012-10-23 22:48
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: strictモードについて
えびです。
遅くなってすみません。野中さん、ご回答ありがとうございました。
じゃじゃ馬ならし、悪戦苦闘しておりますが、がんばります(´ー` )/

引用:
正しく指定した方がランタイムでもお得です。


なるほどです! good practice、心掛けます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops