<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.garamx.com/dokuwiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.garamx.com/dokuwiki/feed.php">
        <title>GaramX javascript</title>
        <description></description>
        <link>https://www.garamx.com/dokuwiki/</link>
        <image rdf:resource="https://www.garamx.com/dokuwiki/lib/tpl/darkblue/images/favicon.ico" />
       <dc:date>2026-05-06T13:37:38+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:bootstrap&amp;rev=1744711518&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:browser&amp;rev=1744711518&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:callbackandthis&amp;rev=1744711518&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:class&amp;rev=1744711518&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:clone&amp;rev=1744711518&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:comma&amp;rev=1745313273&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:extend&amp;rev=1744711518&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:handbook&amp;rev=1744711518&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:home&amp;rev=1744711518&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:maro_pattern&amp;rev=1744711518&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:regexp&amp;rev=1744711518&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:vanilla&amp;rev=1744711518&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.garamx.com/dokuwiki/doku.php?id=javascript:void&amp;rev=1744711518&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.garamx.com/dokuwiki/lib/tpl/darkblue/images/favicon.ico">
        <title>GaramX</title>
        <link>https://www.garamx.com/dokuwiki/</link>
        <url>https://www.garamx.com/dokuwiki/lib/tpl/darkblue/images/favicon.ico</url>
    </image>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:bootstrap&amp;rev=1744711518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T10:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:bootstrap</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:bootstrap&amp;rev=1744711518&amp;do=diff</link>
        <description>Javascript Bootstrap

ES6 import/export
import &#039;./a.css&#039;
babel (es6 -&gt; es5)
webpack (loader, plugin)


&gt;npm init
&gt;npm install webpack --save-dev
&gt;npm install @babel/preset-env --save-dev
&gt;npm install webpack-dev-server --save-dev



var path = require(&#039;path&#039;);

module.exports = {
  mode: &#039;development&#039;, // &#039;production&#039;, &#039;development&#039;, &#039;none&#039;
  entry: &#039;./src/index.js&#039;,
  output: {
    filename: &#039;bundle.js&#039;,
    path: path.resolve(__dirname, &#039;dist&#039;),
    publicPath: &#039;/dist&#039;
  },
  module: {
    rul…</description>
    </item>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:browser&amp;rev=1744711518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T10:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:browser</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:browser&amp;rev=1744711518&amp;do=diff</link>
        <description>Edge실행


window.location = &#039;microsoft-edge:&#039; + window.location;


경고없이 창닫기


window.location = &#039;microsoft-edge:&#039;+ window.location;
setTimeout(function(){
  window.opener = &#039;Self&#039;;
  window.open(&#039;&#039;,&#039;_parent&#039;,&#039;&#039;);
  window.close();
}, 1000);</description>
    </item>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:callbackandthis&amp;rev=1744711518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T10:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:callbackandthis</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:callbackandthis&amp;rev=1744711518&amp;do=diff</link>
        <description>callback function에서의 this사용


var A = /** @class */ (function () {
    function A() {
        this.i = 100;
    }
    A.prototype.a = function () {
    	console.log(&#039;함수 a호출됨&#039;);
    	console.log(&#039;i:&#039;, this.i);
    	// 1. 새로운 변수에 this
    	//var that = this;
    	//testCallback(&#039;1.&#039;, function() {
		//	    	console.log(&#039;this.i:&#039;, that.i);
		//	    });
		
		// 2. bind함수이용
		//testCallback(&#039;2&#039;, function(){
		//		console.log(&#039;this.i&#039;, this.i);}.bind(this) );
		
		// 2.1 bind함수이용
		 testCallback(&#039;2.1&#039;,…</description>
    </item>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:class&amp;rev=1744711518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T10:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:class</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:class&amp;rev=1744711518&amp;do=diff</link>
        <description>class &amp; this

IFEF을 활용하여 class를 구현함.

Class Source


var MyCalendar = /** @class */ (function () {
    function MyCalendar() {
        this.today = new Date();
        this.cal = [];
    }
    MyCalendar.prototype.calculate = function () {
        return 100;
    };
    MyCalendar.prototype.dateId = function (day) {
        var s;
        var m = day.getMonth() + 1;
        var d = day.getDate();
        var sm = (m &lt; 10 ? &quot;0&quot; : &quot;&quot;) + m;
        s = day.getFullYear() + sm + (d &lt; 10 ? &quot;0&quot; : &quot;&quot;) +…</description>
    </item>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:clone&amp;rev=1744711518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T10:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:clone</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:clone&amp;rev=1744711518&amp;do=diff</link>
        <description>Clone Function구현

	*  Deep Clone Function


function clone(obj) {
    var copy;

    // Handle the 3 simple types, and null or undefined
    if (null == obj || &quot;object&quot; != typeof obj) return obj;

    // Handle Date
    if (obj instanceof Date) {
        copy = new Date();
        copy.setTime(obj.getTime());
        return copy;
    }

    // Handle Array
    if (obj instanceof Array) {
        copy = [];
        for (var i = 0, len = obj.length; i &lt; len; i++) {
            copy[i] = clone(obj[…</description>
    </item>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:comma&amp;rev=1745313273&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-22T09:14:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:comma</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:comma&amp;rev=1745313273&amp;do=diff</link>
        <description>Comma처리


(function comma(str){
  var s = str.split(&#039;,&#039;);
  if(/(\d){4}/.test(s)){
    s[0] = s[0].replace(/(\d){3}(,|\.|$)/,&#039;,\$&amp;&#039;);
    s[0] = comma(s[0]);
   }
   return s.join(&#039;.&#039;);
})(&quot;1234567890.12&quot;);</description>
    </item>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:extend&amp;rev=1744711518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T10:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:extend</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:extend&amp;rev=1744711518&amp;do=diff</link>
        <description>Object Extend

jQuery를 이용한


var bar = $.extend({}, foo);


Pure JavaScript


function clone(obj) {
  if (obj === null || typeof(obj) !== &#039;object&#039;)
  return obj;

  var copy = obj.constructor();

  for (var attr in obj) {
    if (obj.hasOwnProperty(attr)) {
      copy[attr] = obj[attr];
    }
  }

  return copy;
}</description>
    </item>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:handbook&amp;rev=1744711518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T10:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:handbook</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:handbook&amp;rev=1744711518&amp;do=diff</link>
        <description>JavaScript 요약집

The Complete JavaScript Handbook

JavaScript는 세상에서 가장 인기있는 프로그램언어중 하나이고, 현재 브라우저외에도 널리 사용되고 있다. 최근 몇년 사이에 Node.js가 뜨면서 Java, Ruby, Python, PHP 및 보다 전통적인 서버측 언어의 영역있었던 백 엔드 개발영역까지 확장하였다.
JavaScript요약집은 80/20룰을 따른다. 시간의 20%안에 자바스크립트의 80%를 배운다.
JavaScript의 모든 것을 배워라!…</description>
    </item>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:home&amp;rev=1744711518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T10:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:home</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:home&amp;rev=1744711518&amp;do=diff</link>
        <description>JavaScript

ECMA2015를 참조
The Complete JavaScript Handbook
Maro Pattern

void 0

StackOverflow void 0voidMDN


void 0
void &quot;my string&quot;
void (0)
// all returns undefined


이것이 의미하는 것은?


window.hasOwnProperty(&#039;undefined&#039;); // return true;
window.undefined // return undefined
window.undefined === undefined // true
var undefined = &quot;미친놈&quot;;
console.log(undefined); // print 미친놈
window.undefined === undefined // false</description>
    </item>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:maro_pattern&amp;rev=1744711518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T10:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:maro_pattern</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:maro_pattern&amp;rev=1744711518&amp;do=diff</link>
        <description>Maro Pattern

removeComment
연습하기



&lt;script&gt;
  class MaroPattern {
    constructor() {
      this.ps = [];
    }
    addPattern(p1) {
      this.ps.push(p1);
    }
    trans01(source) {
      var src = source;
      var out = [];
      this.ps.filter(function (p) { return p.KIND_CD === &#039;all&#039;; }).forEach(p1 =&gt; {
        if (p1.TYPE_CD === &#039;text&#039;) {
          src = src.replaceAll(p1.SEARCH, p1.R_VALUE);
        }
        if (p1.TYPE_CD === &#039;regEx&#039;) {
          let re = new RegExp(p1.SEARCH, &#039;g&#039;);
…</description>
    </item>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:regexp&amp;rev=1744711518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T10:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:regexp</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:regexp&amp;rev=1744711518&amp;do=diff</link>
        <description>Javascript RegExp


function funRegComma(param){
var num = &#039;&#039; +param;
var reg = /(^[+-]?\d+)(\d{3})/;
while(reg.test(num)){
num = num.replace(reg,&#039;$1&#039; + &#039;,&#039; + &#039;$2&#039;);
}
return num;
}
==== Password ====
비밀번호 체크하기 위한 RegExp
&lt;code javascript&gt;
var strongRegex = new RegExp(&quot;^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&amp;\*])(?=.{8,})&quot;);</description>
    </item>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:vanilla&amp;rev=1744711518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T10:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:vanilla</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:vanilla&amp;rev=1744711518&amp;do=diff</link>
        <description>Vanilla Javascript

온갓 다양한 세계가 존재한다. 또는 존재하려고 노력하기도 한다. 독보적이고 유니크한 것을 추구하는 자들이 존재한다.

&lt;http://vanilla-js.com/&gt;

vanilla js

외부 라이브러리나 프레임워크를 쓰지 않는 순수 JavaScript를 이르는 말이다. 사용자 정의된 라이브러리나 프레임워크 자체를 쓰지 않기 때문에 당연히 다른 라이브러리나 프레임워크를 사용했을 때보다 빠르고 호환성이 좋을 수밖에 없다. 또한 숙련된 사람일 수록 별의별 기능을 구현할 수 있다는 특징이 있다.…</description>
    </item>
    <item rdf:about="https://www.garamx.com/dokuwiki/doku.php?id=javascript:void&amp;rev=1744711518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T10:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>javascript:void</title>
        <link>https://www.garamx.com/dokuwiki/doku.php?id=javascript:void&amp;rev=1744711518&amp;do=diff</link>
        <description>undefind

void 0

if( myvarriable === void 0 )
--&gt; undefined비교를 위하여 사용
if( myvarriable === undefined )
이렇게 비교할 수 있는데 undefined는 변수명으로 사용될수 있어 void 0를 이용.
void 0</description>
    </item>
</rdf:RDF>
