In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

XMLの非実在要素と非実在属性

@author エスケイ
* E4X使ったときに存在しない要素/属性の判定したくてテスト。
* タイトルは悪ノリした。反省している。
Get Adobe Flash player
by esukei 30 Mar 2010
/**
 * Copyright esukei ( http://wonderfl.net/user/esukei )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/c1BN
 */

/**
 * @author エスケイ
 * E4X使ったときに存在しない要素/属性の判定したくてテスト。
 * タイトルは悪ノリした。反省している。
 */
package {
    import flash.display.Sprite;
    import flash.text.TextField;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            var xml:XML = <hoge><fuga>piyo</fuga></hoge>;
            var textField:TextField = new TextField();
            textField.width = stage.stageWidth;
            textField.height = stage.stageHeight;
            textField.text = '';
            textField.appendText('非実在要素をif判定:' + (xml.elem ? 'true' : 'false') + '\n');
            textField.appendText('非実在要素をundefinedで比較:' + (xml.elem == undefined ? 'true' : 'false') + '\n');
            textField.appendText('非実在要素をundefinedで厳密に比較:' + (xml.elem === undefined ? 'true' : 'false') + '\n');
            textField.appendText('非実在要素をnullで比較:' + (xml.elem == null ? 'true' : 'false') + '\n');
            textField.appendText('非実在要素をnullで厳密に比較:' + (xml.elem === null ? 'true' : 'false') + '\n');
            textField.appendText('非実在要素のtypeof:' + (typeof xml.elem) + '\n\n');
            textField.appendText('非実在属性をif判定:' + (xml.fuga.@attr ? 'true' : 'false') + '\n');
            textField.appendText('非実在属性をundefinedで比較:' + (xml.fuga.@attr == undefined ? 'true' : 'false') + '\n');
            textField.appendText('非実在属性をundefinedで厳密に比較:' + (xml.fuga.@attr === undefined ? 'true' : 'false') + '\n');
            textField.appendText('非実在属性をnullで比較:' + (xml.fuga.@attr == null ? 'true' : 'false') + '\n');
            textField.appendText('非実在属性をnullで厳密に比較:' + (xml.fuga.@attr === null ? 'true' : 'false') + '\n');
            textField.appendText('非実在属性のtypeof:' + (typeof xml.fuga.@attr) + '\n');
            addChild(textField);
        }
    }
}