Java��JavaScript�̐e�����֌W�F���R���j��Java���y���ށi1�j

����E�A�Z�p�҃R�~���j�e�B��Java����̋���ƌ[�ւɒ��N�g����Ă��� �M�҂��A�Ǝ��̎��_����Java�̖ʔ������@�艺���Ă����B�i�ҏW�ǁj

» 2006�N08��18�� 00��00�� ���J
[���R���j�C�K�����I]

���ڂ𗁂т�JavaScript

�@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

JavaScript�C���^�v���^ Rhino

�@����ł́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

Java��Rhino�̂��������֌W

�@�Ƃ���Ł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

�M�҃v���t�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.

�A�C�e�B���f�B�A����̂��m�点

�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

4AI by ��IT - AI�����A�������A���A������
Microsoft �� Windows�őO��2025
AI for �G���W�j�A�����O
���[�R�[�h�^�m�[�R�[�h �Z���g���� by ��IT - IT�G���W�j�A���r�W�l�X�̒��S�Ŋ��􂷂�g�D��
Cloud Native Central by ��IT - �X�P�[���u���Ȕ\�͂�g�D��
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B