����E�A�Z�p�҃R�~���j�e�B��Java����̋���ƌ[�ւɒ��N�g����Ă��� �M�҂��A�Ǝ��̎��_����Java�̖ʔ������@�艺���Ă����B�i�ҏW�ǁj
�@JavaScript�����ɍL�܂���10�N�߂������܂����A�ŋߘb��ɏ�邱�Ƃ������Ȃ��Ă��Ă��܂��B�Ȃ��A���܂���JavaScript�����ڂ𗁂тĂ���̂ł��傤���H
�@JavaScript��ECMA�i���[���b�p�d�q�v�Z�@�H�Ɖ�j�ɂ���āAECMAScript�Ƃ��ĕW��������Ă��āAStandard ECMA-262 ECMAScript Language Specification 3rd edition (December 1999)��AStandard ECMA-357 ECMAScript for XML (E4X) Specification�Ƃ������d�l�����J����Ă��܂��B�����̎d�l�����ĕ�����悤�ɁAJavaScript�̓I�u�W�F�N�g�x�[�X�i�v���g�^�C�v�x�[�X�Ƃ������邱�Ƃ�����悤�ł��j�̃I�u�W�F�N�g�w������ł��B
�@JavaScript�́A���Ԃł̓X�N���v�g����Ƃ��Ă̎�y���̕����肪���ڂ���Ă��āA�I�u�W�F�N�g�w������Ƃ��Ă̖��͂ɂ��Č���邱�Ƃ͑�������܂���ł������A�M�҂͈ȑO����v���O���~���O����̎��_����JavaScript���I�u�W�F�N�g�w������ł���_�ɒ��ڂ����Ă��܂����B�v���O���~���O���S�҂��I�u�W�F�N�g�w���v���O���~���O���w�K���n�߂邫��������JavaScript���ǂ��ƁA�����Ǝv���Ă����̂ł��B�Ȃ��Ȃ�AWeb�u���E�U�Ɏ��s�������ڂ���Ă���JavaScript���g���A�p�\�R�����w������ΕK���t���Ă��āA�J��������s�����킴�킴�p�ӂ��Ȃ��Ă��A��y�Ƀv���O���~���O���ł��邩��ł��B�������A�Ȃ��Ȃ�JavaScript�̓I�u�W�F�N�g�w������Ƃ��Ĉ����鎞��͗��܂���ł����B
�@����Ȓ��AAJAX�iAsynchronous JavaScript �{ XML�j�̓o��ɂ���ď͕ς��܂����BAJAX�̏o���ɂ��A�I�u�W�F�N�g�w������Ƃ��Đv����Ă���JavaScript�̓����𗘗p�������p���̍������C�u�������J������A�g����悤�ɂȂ��Ă����̂ł��B�Ⴆ�A�L���ȃ��C�u�����Ƃ��ẮARuby on Rails�ō̗p����Ă���prototype.js�Ƃ��������̂�����܂��B���̃��C�u�����ł́AJavaScript�̃I�u�W�F�N�g�w������@�\�𗘗p���Ă��܂��B���C�u�����Ɋ܂܂��base.js������ƁAObject�Ƃ�����{�I�ȃI�u�W�F�N�g�͊g������Ă��āAextend���\�b�h��inspect���\�b�h���lj�����Ă����肵�܂��BHTML�����t�@�C���֖��ߍ��ރX�N���v�g�Ƃ������_�ŊJ�����ꂽJavaScript�v���O�����ł́A���̂悤�ȃ��C�u�����͗p�ӂ���邱�Ƃ͂���܂���ł����B
�@���ꂩ��́A�I�u�W�F�N�g�w������Ƃ��ĂƂ炦�������ŊJ����������A���C�u�������g�p����@������Ă��܂��B�ȑO����JavaScript���I�u�W�F�N�g�w������Ƃ��ĔF�����Ă����̂Łu����Ǝ��p�I�ȃI�u�W�F�N�g�w������Ƃ��Ďg�����߂̏������������B��͂胉�C�u�����͏d�v���v�Ǝv���܂������A�X�N���v�g����Ƃ��Ă������Ă��Ȃ������J���҂ɂƂ��Ă͋����������͂��ł��B������ɂ���AJavaScript�̓I�u�W�F�N�g�w������Ƃ��Ē��ڂ𗁂тĂ���̂ł��B
�@������Java��JavaScript�̊W���v���Ԃ��Ă݂܂��傤�B�ŏ��ɖ��O�ɂ��Ăł����AJavaScript���J�����ꂽ������LiveScript�Ƃ������O�ł����B1995�N��Java���\�̉e������JavaScript�Ƃ������O�ɂȂ����Ƃ����Ă��܂��B�������A�C���^�[�l�b�g�����y���n�߂āA�l�b�g�T�[�t�B���Ƃ������t���悭�g���Ă�������ANetscape Navigator�AInternet Explorer�Ƃ������u���E�U�œ��삷��悤�ɂȂ��Ă���́AJava�����L���ɂȂ��Ă��܂��܂����BHTML�����t�@�C���֑g�ݍ��ނ��Ƃ��ł���JavaScript�̕������y���Ă��܂����̂ł��B
�@�����������o�܂̂��߂��A�R���s���[�^�ɊW����d�������Ă���l�ł��uJava��JavaScript�̗��v�Ɗ��Ⴂ���邱�Ƃ������A�����́uJava��JavaScript�Ƃ͈Ⴂ�܂��v�Ƃ��������̂ł��B�������AJava�a��10���N���߂������܂ł́AWeb�v���O���~���O�ɂ����Ă�Java�̐l�C�͔��ɍ����A���y���Ă��܂�����A�v���O���~���O��m���Ă���l�ł���A�킴�킴�uJava��JavaScript�Ƃ͈Ⴂ�܂��v�Ƃ����K�v���Ȃ��Ȃ�܂����B
�@���ɘA�g���@�ɂ��Ăł��BJava�͔��\�����A�v���b�g�̕������ڂ���Ă������߁AJava�A�v���b�g��JavaScript��A�g���邽�߂�LiveConnect�Ƃ����Z�p�ւ̊��҂����ɍ����������Ƃ��o���Ă��܂��B�c�O�Ȃ��ƂɁA���܂�T�[�o�T�C�hWeb�A�v���P�[�V�����̕�����ʓI�ƂȂ��Ă��邽�߁A���̋Z�p�͂��܂�b��ɂȂ�Ȃ��Ȃ��Ă��܂��܂����B
�@�T�[�o�T�C�hWeb�A�v���P�[�V�����ɂ����ẮAJavaScript�̓u���E�U�݊����̖�肪��������A�g�ѓd�b�p�u���E�U�ł̃T�|�[�g���\������Ă��Ȃ��������ƂȂǂɂ��AJava�J���҂���͌h�����ꂪ���ȑ��݂ƂȂ��Ă��܂����B���̂��߁A�^�[�Q�b�g�u���E�U�����肳��Ă��Ȃ��ꍇ�ɂ́A���܂�JavaScript���g��Ȃ��ŁA�T�[�u���b�g���őΏ�����Ƃ����X��������܂����B���̂悤��Java�J���҂ɂƂ���JavaScript�͖��O��Java���g���Ă�����̂́AJava�Ƃ͒��ڊW������܂���ł����B�������A���̏�Java�̎����o�[�W�����ł���Mustang(Java SE 6)����͕ς�肻���ł��BMustang��scripting framework�œ��삷��X�N���v�g�Ƃ���JavaScript����������邱�ƂɂȂ����̂ł��B���������ƂȂ�ƁA�]���Ƃ�JavaScript�̈ʒu�t�����ς���Ă��܂��̂ŁA���̈Ӗ�������b��ƂȂ��Ă���̂ł��B
�@����ł́AJava�Ŏ������ꂽJavaScript�C���^�v���^�Ƃ��ėL����Rhino���g���ăI�u�W�F�N�g�w������JavaScript�̐��E��������Ƃ̂����Ă݂܂��傤�BRhino�̎g�����͊ȒP�ŁARhino�̃_�E�����[�h�y�[�W����rhino1_6R2.zip���_�E�����[�h������ɓW�J���Ă���A���̂悤��js.jar���g����java�R�}���h�ŃC���^�v���^���N�����܂��B�����JavaScript�v���O������Θb�I�Ɏ��s���邱�Ƃ��ł���悤�ɂȂ�܂��Bhelp()�Ɠ��͂���Ǝg����R�}���h���\�������̂ŁA���Ă����܂��傤�B�I��������ɂ�quit()���g���܂��B
> java -jar js.jar js> var a = 1 + 1; js> print a; js> print(a) 2 js> js> help() �i���j js> quit()
�@�ŏ��ɁAJavaScript�Ŏ����̑�������Ă݂܂��傤�BDate�I�u�W�F�N�g�� new ���Z�q���g���Đ������A���̃I�u�W�F�N�g��getHours���\�b�h���g���Ď��Ԃ�hour�ցAgetMinutes���\�b�h���g���ĕ���minute�ցA���̌�print�R�}���h��hour��":"��minute�Ƃ�A���������ʂ�\�����Ă��܂��Bprint�R�}���h���g���Ă��镔���̓I�u�W�F�N�g�w���v���O�����炵������܂��A�ق��̏�����Java�ƂقƂ�Ǖς�肠��܂���B
js> var now = new Date(); js> var hour = now.getHours(); js> var minute = now.getMinutes(); js> print(hour+":"+minute); 1:53 js>
�@���ɁAJavaScript�Ń��[�U�[��`�I�u�W�F�N�g�̐錾�����Ă݂܂��傤�BJava�̂悤�ɃN���X�P�ʂŃv���O�������쐬����킯�ł͂Ȃ��̂ŁA�R���X�g���N�^�̒�`��������ƕς���Ă��܂��BJavaScript�ł�function�L�[���[�h�ŃI�u�W�F�N�g�̃R���X�g���N�^���`���܂��B���̗�ł́A�_��\��Point�I�u�W�F�N�g�̃R���X�g���N�^��p�ӂ��āAnew���Z�q�Ō��_��\��Point�I�u�W�F�N�g�̐��������Ă��܂��B
js> function Point(_x, _y) { this.x=_x; this.y=_y; } js> var point = new Point(0,0); js> print(point.x + "," + point.y); 0,0 �@ js>
�@�I�u�W�F�N�gpoint��x�̒l��1����������addX���\�b�h��lj�����ɂ͎��̂悤�ɍŏ��Ƀ��\�b�h�̏�����function�Ƃ��Đ錾���Ă����A������I�u�W�F�N�gpoint��addX���\�b�h�Ƃ��ēo�^���܂��B���Ȃ݂ɁA�R���X�g���N�^�Ń��\�b�h��o�^���邱�Ƃ��ł��܂��B�܂��A�����ł͏Љ�܂���prototype���g���Čp�������邱�Ƃ��ł��܂��B�I�u�W�F�N�g�w���Ƃ����Ă�JavaScript�̓N���X�x�[�X��Java�Ƃ͂��Ȃ����Ă��܂��B
js> function addX() { this.x++; } js> point.addX=addX; �@ function addX() { this.x++; } �@ js> point.addX(); js> print(point.x+","+point.y); 1,0
�@�ǂ��ł��傤�A�ڂ������@�ɂ��Ă͉�����܂���ł������A������Ƃ����ł����͋C�����������ł��傤���B����܂�HTML��⏕������̂Ƃ���JavaScript�����Ă����l��������������܂��A�I�u�W�F�N�g�x�[�X�̃I�u�W�F�N�g�w������Ƃ������_��JavaScript���g���Ă݂�ƁAJava�̂悤�ȃN���X�x�[�X�̃I�u�W�F�N�g�w������Ƃ͈�����e�N�j�b�N�ɏo�������Ƃ��ł���͂��ł��B�ӊO�ɖʔ����ăv���O���~���O�̕����L����܂��B
�@�Ƃ���ŁARhino�ł�Java�̃p�b�P�[�W���C���|�[�g���ė��p����Ƃ������Ƃ��ł��Ă��܂��܂��B������g����Java�̃v���O������Θb�I�Ɏ��s���邱�Ƃ��ł��܂��B�܂��AJava�v���O��������Rhino���Ăяo�����Ƃ��ł���̂ŁAJavaScript���s����Ǝ��A�v���P�[�V�����֒lj����邱�Ƃ��ł��܂��B�Ⴆ�Ajava.lang.System�N���X��getProperty���\�b�h���g������ASwing���g���đΘb�I�ɉ�ʂ�\������ꍇ�́ARhino���N�����Ă���A���̂悤�ɂ��܂��B
js> importPackage(java.lang) js> print(System.getProperty("user.dir")) /home/koyama/rhino1_6R2 js> importPackage(java.awt, java.awt.event, Packages.javax.swing) js> f = new JFrame("Rhino"); javax.swing.JFrame[frame0,0,64,0x0,invalid,hidden, layout=java.awt.BorderLayout,t (��) Size=],rootPaneCheckingEnabled=true] js> f.setBounds(100,100,300,150); js> f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); js> f.setVisible(true);
�@Rhino�̏��́uRhino: JavaScript for Java�v��A���̓��{��ł́uRhino: Java �ɂ�� JavaScript�v�Ȃǂɂ�������Љ��Ă��܂��B�[�����Ă��܂����為�ЃA�N�Z�X���Ă݂Ă��������B
�@���āARhino���g����Java��JavaScript�̘A�g���ȒP�ɂł��邱�Ƃ͕�����܂������A���ꂾ���ł͂���܂���BJava�̎����o�[�W�����ł���Mustang(Java SE 6)�ɂ�JSR 223: Scripting for the JavaTM Platform�̃T�u�Z�b�g�ł���scripting framework���܂܂�邱�ƂɂȂ��Ă��܂��B���́A���̃t���[�����[�N��œ��삷��JavaScript�̎��s�p�v���O�����Ƃ���Rhino����������܂��B�������Ascripting framework��API�p�b�P�[�W�ł���javax.script�͓���X�N���v�g����̂��߂̂��̂ł͂Ȃ����߁Ascripting�v���W�F�N�g�����Ă�������悤�ɁA���܂��܂ȃv���O���~���O���ꂪ�g���邱�ƂɂȂ肻���ł��B�Ⴆ�AAWK(jawk)�APython�iJython�j�ARuby�iJRuby�j�Ȃǂ��ꗗ�Ɋ܂܂�Ă��܂��BMustang�ł�Java Compiler API�iJSR 199: JavaTM Compiler API�j���g�p���邱�Ƃɂ��A�\�[�X�R�[�h�̃R���p�C�����ȒP�ɍs����悤�ɂȂ�܂�����AJava���̂��̂��ꗗ�Ɋ܂܂�Ă��܂��B���̂悤�Ɏd�l��ł�Java�̃X�N���v�g�͌��܂������̂�����Ƃ����킯�ł͂���܂��AMustang�ɓ����������̂𗘗p����@���ԑ����Ȃ肻���ł��B���������Ӗ��ŁAJava��JavaScript�͏]�����������Ƌ߂��W�ɂȂ�Ƃ�����ł��傤�B�������A�uJava�̃X�N���v�g�Ƃ�������JavaScript�v�Ƃ�����قǂɂȂ邩�ǂ����́A�܂�������܂���BGroovy�APython�ARuby�͂ǂ���l�C������܂�����Ascripting framework�ł���炪�g����J������̕��������Ȃ邩������܂���B
�@������ɂ���AMustang�������[�X�����ƁAscripting framework���g���Ă��܂܂ł����ȒP�Ƀv���O�����̃J�X�^�}�C�Y���\�ɂȂ�܂��B�Ⴆ�A�]���͏����ݒ�̂��߂ɂ�Properties�t�@�C����XML�t�@�C�����g���Ă��܂������AJavaScript�t�@�C�����g�����Ƃ��ł���悤�ɂȂ�܂��B������Ƃ����g���@�\����������̂ɁAJavaScript�v���O�������v���O�C���Ƃ��ēo�^�ł���悤�ɂ��Ȃ�܂��B�������A�ǂ����Ƃ���ł͂���܂���BWeb�u���E�U�ł�JavaScript�ɋN������Z�L�����e�B�z�[����������������Ă��Ă��܂��BJavaScript�v���O���������Ŏg����悤�Ȏ��������Ă��܂�Ȃ��悤�ɒ��ӂ���K�v������ł��傤�B����ɂ��Ă��AJavaScript��Java��₤�`�ŗ��p�ł���悤�ɂȂ�̂́A��͂肤�ꂵ�����̂ł��BMustang�̃����[�X�����܂���y���݂ł��ˁB
���R���j�i����� �Ђ낵�j
Web�V�X�e���̉^�p�ƊJ���A�R���s���[�^�Ƌ���̌����ɏ]������T��A�I�[�v���\�[�X�\�t�g�E�F�A�AJava�Z�p�̕��y�̂��߂̊������s���Ă���BJa-Jakarta�v���W�F�N�g(http://www.jajakarta.org/)�֎Q�����A�R�~�b�^�̈���Ƃ��Ċ������x���Ă���B�܂��A���쌧�̒n��R�~���j�e�B�ł���ASSS(G)�ihttp://www.sssg.org/�j��bugs(J)�ihttp://www.bugs.jp/�j�̊����ւ��Q�����Ă���B
Copyright © ITmedia, Inc. All Rights Reserved.
��IT eBook