<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>woos_94.log</title>
        <link>https://velog.io/</link>
        <description>안녕하세요! 뉴비프론트엔드개발자입니다!</description>
        <lastBuildDate>Wed, 15 Feb 2023 07:35:35 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>woos_94.log</title>
            <url>https://velog.velcdn.com/images/woos_94/profile/e3073832-2109-4d7d-baad-baa2de1fec4f/social_profile.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. woos_94.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/woos_94" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Javascript - 자바스크립트 변수]]></title>
            <link>https://velog.io/@woos_94/Javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EB%B3%80%EC%88%98-lj25j0fu</link>
            <guid>https://velog.io/@woos_94/Javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EB%B3%80%EC%88%98-lj25j0fu</guid>
            <pubDate>Wed, 15 Feb 2023 07:35:35 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/woos_94/post/8ac32e57-966f-49af-8bca-30a4da740d67/image.png" alt=""></p>
<h1 id="구문statements">구문(Statements)</h1>
<hr>
<h2 id="if">if</h2>
<p><code>if</code>, <code>else</code> 키워드를 사용해 구문을 작성할 수 있습니다.</p>
<pre><code class="language-js">if (조건) {
  // 조건이 참일 때 실행될 코드
}

if (조건) {
  // 조건이 참일 때 실행될 코드
} else {
  // 조건이 거짓일 때 실행될 코드
}

if (조건1) {
  // 조건1이 참일 때 실행될 코드
} else if (조건2) {
  // 조건2가 참일 때 실행될 코드
} else if (조건3) {
  // 조건3이 참일 때 실행될 코드
} else {
  // 모든 조건이 거짓일 때 실행될 코드
}</code></pre>
<p>If</p>
<pre><code class="language-js">function isPositive(number) {
  if (number &gt; 0) {
    return &#39;양수&#39;
  }
}

console.log(isPositive(1)) // &#39;양수&#39;
console.log(isPositive(10)) // &#39;양수&#39;
console.log(isPositive(-2)) // undefined</code></pre>
<p>If else</p>
<pre><code class="language-js">function isPositive(number) {
  if (number &gt; 0) {
    return &#39;양수&#39;
  } else {
    return &#39;음수&#39;
  }
}

console.log(isPositive(1)) // &#39;양수&#39;
console.log(isPositive(10)) // &#39;양수&#39;
console.log(isPositive(-2)) // &#39;음수&#39;</code></pre>
<p>If else if</p>
<pre><code class="language-js">function isPositive(number) {
  if (number &gt; 0) {
    return &#39;양수&#39;
  } else if (number &lt; 0) {
    return &#39;음수&#39;
  } else {
    return &#39;0&#39;
  }
}

console.log(isPositive(1)) // &#39;양수&#39;
console.log(isPositive(10)) // &#39;양수&#39;
console.log(isPositive(-2)) // &#39;음수&#39;
console.log(isPositive(0)) // &#39;0&#39;</code></pre>
<h2 id="switch">switch</h2>
<p><code>switch</code>, <code>case</code>, <code>break</code>, <code>default</code> 키워드를 사용해 구문을 작성할 수 있습니다.<br><code>break</code> 키워드는 Switch 조건문을 종료합니다.</p>
<pre><code class="language-js">switch (조건) {
  case 값1:
    // 조건이 &#39;값1&#39;일 때 실행
    break
  case 값2:
    // 조건이 &#39;값2&#39;일 때 실행
    break
  default:
    // 조건이 &#39;값1&#39;도 &#39;값2&#39;도 아닐 때 실행
}</code></pre>
<pre><code class="language-js">function price(fruit) {
  switch (fruit) {
    case &#39;Apple&#39;:
      return 1000
    case &#39;Banana&#39;:
      return 1500
    case &#39;Cherry&#39;:
      return 2000
    default:
      return 0
  }
}

console.log(price(&#39;Apple&#39;)) // 1000
console.log(price(&#39;Cherry&#39;)) // 2000
console.log(price(&#39;Hello&#39;)) // 0</code></pre>
<p>Switch 조건문은 If 조건문으로 대체할 수 있습니다.</p>
<pre><code class="language-js">function price(fruit) {
  if (fruit === &#39;Apple&#39;) {
    return 1000
  } else if (fruit === &#39;Banana&#39;) {
    return 1500
  } else if (fruit === &#39;Cherry&#39;) {
    return 2000
  } else {
    return 0
  }
}</code></pre>
<h2 id="for">for</h2>
<pre><code class="language-js">for (초기화; 조건; 증감) {
  // 실행 코드
}</code></pre>
<pre><code class="language-js">for (let i = 0; i &lt; 10; i += 1) {
  console.log(i)
}
// 0
// 1
// 2
// ...
// 9</code></pre>
<h3 id="break">break</h3>
<p><code>break</code> 키워드가 실행되면, 전체 반복을 종료합니다.</p>
<pre><code class="language-js">for (let i = 0; i &lt; 10; i += 1) {
  if (i &gt; 5) {
    break
  }
  console.log(i)
}
// 0
// 1
// 2
// 3
// 4
// 5</code></pre>
<h3 id="continue">continue</h3>
<p><code>continue</code> 키워드가 실행되면, 현재 반복을 종료하고 다음 반복으로 넘어갑니다.</p>
<pre><code class="language-js">for (let i = 0; i &lt; 10; i += 1) {
  if (i % 2 === 0) {
    continue
  }
  console.log(i)
}
// 1
// 3
// 5
// 7
// 9</code></pre>
<h2 id="for-of">for of</h2>
<p>Iterable object(반복 가능한 객체)를 반복.<br><code>Array</code>, <code>Map</code>, <code>Set</code>, <code>String</code>, <code>TypedArray</code> 등..</p>
<pre><code class="language-js">const users = [
  {
    name: &#39;Heropy&#39;,
    age: 85
  },
  {
    name: &#39;Neo&#39;,
    age: 22
  },
  {
    name: &#39;Lewis&#39;,
    age: 34
  }
]

for (const user of users) {
  console.log(user)
}
// { name: &#39;Heropy&#39;, age: 85 }
// { name: &#39;Neo&#39;, age: 22 }
// { name: &#39;Lewis&#39;, age: 34 }</code></pre>
<h2 id="for-in">for in</h2>
<p>객체 데이터를 반복.</p>
<pre><code class="language-js">const user = {
  name: &#39;Heropy&#39;,
  age: 85,
  isValid: true,
  email: &#39;thesecon@gmail.com&#39;
}

for (const key in user) {
  console.log(key, user[key])
}
// name Heropy
// age 85
// isValid true
// email thesecon@gmail.com</code></pre>
<h2 id="while">while</h2>
<p>조건이 참인 동안 반복 실행합니다.</p>
<pre><code class="language-js">while (조건) {
  // 
}</code></pre>
<pre><code class="language-js">let n = 0
while (n &lt; 4) {
  console.log(n)
  n += 1
}
// 0
// 1
// 2
// 3</code></pre>
<h2 id="do-while">do while</h2>
<p>조건이 참인 동안 반복 실행합니다.</p>
<pre><code class="language-js">do {

} while (조건)</code></pre>
<pre><code class="language-js">let n = 0
do {
  console.log(n)
  n += 1
} while (n &lt; 4)
// 0
// 1
// 2
// 3</code></pre>
<p><code>do</code> 구문이 실행된 후 조건이 평가되기 때문에 조건이 거짓이라도 한 번은 실행됩니다.</p>
<pre><code class="language-js">let n = 0
do {
  console.log(n)
  n += 1
} while (false)
// 0</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[Javascript - 자바스크립트 변수]]></title>
            <link>https://velog.io/@woos_94/Javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EB%B3%80%EC%88%98</link>
            <guid>https://velog.io/@woos_94/Javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EB%B3%80%EC%88%98</guid>
            <pubDate>Wed, 08 Feb 2023 08:35:50 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/woos_94/post/6ccc4f92-9303-4767-93b7-96ee1c4ffc5b/image.png" alt=""></p>
<h1 id="변수">변수</h1>
<hr>
<h2 id="var">var</h2>
<ul>
<li>함수 레벨 유효범위(Function-level scope)</li>
<li>재할당 <strong>가능</strong></li>
<li>중복 선언 <strong>가능</strong></li>
<li>호이스팅 <strong>가능</strong></li>
<li>전역 선언시 전역 객체의 속성으로 등록 <strong>가능</strong></li>
</ul>
<blockquote>
<p>호이스팅(Hoisting)이란, 특정 선언이 유효한 범위의 최상단으로 끌어올려져 선언되는 것을 말합니다.</p>
</blockquote>
<pre><code class="language-js">function fn() {
  console.log(n) // undefined
  if (true) {
    var n = 123
    n = 456
    console.log(n) // 456
    var n = &#39;ABC&#39;
  }
  console.log(n) // &#39;ABC&#39;
}
fn()

console.log(n) // ReferenceError!

var xyz = &#39;XYZ&#39;
console.log(window.xyz) // &#39;XYZ&#39;</code></pre>
<h2 id="const">const</h2>
<ul>
<li>블록 레벨 유효범위(Block-level scope)</li>
<li>재할당 <strong>불가능</strong></li>
<li>중복 선언 <strong>불가능</strong></li>
<li>호이스팅 <strong>불가능</strong></li>
<li>전역 선언시 전역 객체의 속성으로 등록 <strong>불가능</strong></li>
</ul>
<pre><code class="language-js">function fn() {
  console.log(n) // ReferenceError!
  if (true) {
    const n = 123
    n = 456 // TypeError!
    console.log(n) // 123
    const n = &#39;ABC&#39; // SyntaxError!
  }
  console.log(n) // ReferenceError!
}
fn()

console.log(n) // ReferenceError!

const xyz = &#39;XYZ&#39;
console.log(window.xyz) // undefined</code></pre>
<h2 id="let">let</h2>
<ul>
<li>블록 레벨 유효범위(Block-level scope)</li>
<li>재할당 <strong>가능</strong></li>
<li>중복 선언 <strong>불가능</strong></li>
<li>호이스팅 <strong>불가능</strong></li>
<li>전역 선언시 전역 객체의 속성으로 등록 <strong>불가능</strong></li>
</ul>
<pre><code class="language-js">function fn() {
  console.log(n) // ReferenceError!
  if (true) {
    let n = 123
    n = 456
    console.log(n) // 456
    let n = &#39;ABC&#39; // SyntaxError!
  }
  console.log(n) // ReferenceError!
}
fn()

console.log(n) // ReferenceError!

let xyz = &#39;XYZ&#39;
console.log(window.xyz) // undefined</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[Javascript - 자바스크립트 형 변환]]></title>
            <link>https://velog.io/@woos_94/Javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%ED%98%95-%EB%B3%80%ED%99%98</link>
            <guid>https://velog.io/@woos_94/Javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%ED%98%95-%EB%B3%80%ED%99%98</guid>
            <pubDate>Wed, 01 Feb 2023 04:23:00 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/woos_94/post/36e9d022-8796-42a1-93be-ab91b7ee2d8e/image.png" alt=""></p>
<h1 id="자바스크립트-형-변환">자바스크립트 형 변환</h1>
<hr>
<h2 id="형-변환">형 변환</h2>
<p>함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환된다.
이런 과정을 형변환(type conversion)이라고 한다.</p>
<p>동등 연산자(<code>==</code>)는 두 피연산자의 값이 서로 같으면 참, <code>true</code>를 반환한다.
이때 두 피연산자의 타입이 서로 다르면, 비교를 위해 강제로 형변환이 일어난다.
하지만 일치 연산자(<code>===</code>)는 타입의 변환 없이 두 피연산자의 값이 같고,
타입도 같아야만 참, <code>true</code>을 반환한다.</p>
<blockquote>
<p><strong>일치 연산자</strong>(<code>===</code>)는 값의 메모리 주소를 비교한다.</p>
</blockquote>
<pre><code>const a = 1
const b = &#39;1&#39;

console.log(a === b) // false
console.log(a == b) // true</code></pre><p>다음 코드는 전부 <code>true</code>이다.</p>
<pre><code>123 == &#39;123&#39;
0 == false
1 == true
&#39;  &#39; == false</code></pre><p>다음 코드는 전부 <code>false</code>이다.</p>
<pre><code>123 === &#39;123&#39;
0 === false
1 === true
&#39;  &#39; === false</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[Javascript - 자바스크립트 자료형 확인]]></title>
            <link>https://velog.io/@woos_94/Javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%9E%90%EB%A3%8C%ED%98%95-%ED%99%95%EC%9D%B8</link>
            <guid>https://velog.io/@woos_94/Javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%9E%90%EB%A3%8C%ED%98%95-%ED%99%95%EC%9D%B8</guid>
            <pubDate>Wed, 25 Jan 2023 04:40:20 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/woos_94/post/3aa908a0-eeaf-442d-ab83-e098fd66f118/image.png" alt=""></p>
<h1 id="자바스크립트-자료형-확인">자바스크립트 자료형 확인</h1>
<hr>
<h2 id="1-typeof-data">1. typeof DATA</h2>
<p>가장 간단한 방법이지만 <code>array</code>와 <code>null</code>이 <code>object</code>로 나온다.</p>
<pre><code>// typeof DATA
console.log(typeof data.string) // &#39;string&#39;
console.log(typeof data.number) // &#39;number&#39;
console.log(typeof data.boolean) // &#39;boolean&#39;
console.log(typeof data.null) // &#39;object&#39;
console.log(typeof data.undefined) // &#39;undefined&#39;
console.log(typeof data.symbol) // &#39;symbol&#39;
console.log(typeof data.bigint) // &#39;bigint&#39;
console.log(typeof data.array) // &#39;object&#39;
console.log(typeof data.object) // &#39;object&#39;
console.log(typeof data.function) // &#39;function&#39;</code></pre><h2 id="2-dataconstructor">2. DATA.constructor</h2>
<p><code>constructor</code>은 <code>null</code>과 <code>undefined</code>가 <code>TypeError</code>가 나온다.</p>
<pre><code>// DATA.constructor
console.log(data.string.constructor === String)
console.log(data.number.constructor === Number)
console.log(data.boolean.constructor === Boolean)
console.log(data.null.constructor) // TypeError!
console.log(data.undefined.constructor) // TypeError!
console.log(data.symbol.constructor === Symbol)
console.log(data.bigint.constructor === BigInt)
console.log(data.array.constructor === Array)
console.log(data.object.constructor === Object)
console.log(data.function.constructor === Function)</code></pre><h2 id="3-objectprototypetostringcalldata">3. Object.prototype.toString.call(DATA)</h2>
<p>복잡한 방법이지만 가장 정확하다.</p>
<pre><code>// Object.prototype.toString.call(DATA) 
// &#39;[object TYPE]&#39;
function checkType(d) {
  return Object.prototype.toString.call(d).slice(8, -1)
}
console.log(checkType(data.string)) // &#39;String&#39;
console.log(checkType(data.number)) // &#39;Number&#39;
console.log(checkType(data.boolean)) // &#39;Boolean&#39;
console.log(checkType(data.null)) // &#39;Null&#39;
console.log(checkType(data.undefined)) // &#39;Undefined&#39;
console.log(checkType(data.symbol)) // &#39;Symbol&#39;
console.log(checkType(data.bigint)) // &#39;BigInt&#39;
console.log(checkType(data.array)) // &#39;Array&#39;
console.log(checkType(data.object)) // &#39;Object&#39;
console.log(checkType(data.function)) // &#39;Function&#39;</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[Javascript - 자바스크립트 Truthy & Falsy]]></title>
            <link>https://velog.io/@woos_94/Javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-Truthy-Falsy</link>
            <guid>https://velog.io/@woos_94/Javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-Truthy-Falsy</guid>
            <pubDate>Wed, 18 Jan 2023 04:22:52 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/woos_94/post/1b9bd0a4-d6fd-426c-a8b1-de967c015c57/image.png" alt=""></p>
<h1 id="자바스크립트-truthy--falsy">자바스크립트 Truthy &amp; Falsy</h1>
<hr>
<h2 id="truthy참-같은-값">Truthy(참 같은 값)</h2>
<p>문맥에서 <code>true</code>로 평가되는 값이다.
다음은 모두 <code>Truthy</code>이다.</p>
<pre><code>if(true)
if({})
if ([])
if (42)
if (&#39;0&#39;)
if (&#39;false&#39;)
if (new Date())
if (-42)
if (12n)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)</code></pre><p>Falsy(거짓 같은 값)
문맥에서 <code>false</code>로 평가되는 값이다.
다음은 모두 <code>Falsy</code>이다.</p>
<pre><code>if (false)
if (null)
if (undefined)
if (0)
if (-0)
if (NaN) // Not a Number
if (0n)  // n은 bigint를 상징
if (&#39;&#39;) // &#39;&#39;은 공백</code></pre><p><code>Falsy</code> 값은 총 8가지만 있다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[JavaScript - 자바스크립트 참조형]]></title>
            <link>https://velog.io/@woos_94/JavaScript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%B0%B8%EC%A1%B0%ED%98%95</link>
            <guid>https://velog.io/@woos_94/JavaScript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%B0%B8%EC%A1%B0%ED%98%95</guid>
            <pubDate>Tue, 10 Jan 2023 16:51:29 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/woos_94/post/902eeca9-cba7-47c2-aad2-fa76bb5f346a/image.png" alt=""></p>
<h1 id="자바스크립트-참조형">자바스크립트 참조형</h1>
<hr>
<h2 id="1-배열">1. 배열</h2>
<p>다음 예제의 <code>Apple</code>이나 <code>Banana</code>같은 데이터를 배열의 아이템(item) 혹은 요소(Element)라고 부른다.</p>
<pre><code>let fruits

// 생성자
fruits = new Array(&#39;Apple&#39;, &#39;Banana&#39;, &#39;Cherry&#39;)

// 리터럴
fruits = [&#39;Apple&#39;, &#39;Banana&#39;, &#39;Cherry&#39;]

// 배열의 아이템 인덱싱
console.log(fruits[1]) // &#39;Banana&#39;

// 배열의 길이
console.log(fruits.length) // 3

// 첫 번째 아이템 인덱싱
console.log(fruits[0]) // &#39;Apple&#39;

// 마지막 아이템 인덱싱
console.log(fruits[fruits.length - 1]) // &#39;Cherry&#39;

// 마지막 아이템 인덱싱 오류
console.log(fruits[-1]) // undefined</code></pre><h2 id="2-객체">2. 객체</h2>
<p>key:value(속성:값) 형태로 더 복잡한 데이터 구조를 나타낼 때 사용합니다.</p>
<pre><code>let user

// 생성자1
user = new Object()
user.name = &#39;wooseongjeon&#39;
user.age = 28

// 생성자2
function User() {
  this.name = &#39;wooseongjeon&#39;
  this.age = 28
}
user = new User()

// 리터럴
user = {
  name: &#39;wooseongjeon&#39;,
  age: 28
}

console.log(user.name) // &#39;wooseongjeon&#39;
console.log(user.age) // 28</code></pre><p><strong>점 표기법과 대괄호 표기법</strong>
객체의 멤버(속성과 메소드)를 점 표기법(Dot notation)과 대괄호 표기법(Bracket notation)
두가지로 표현 할 수 있다.</p>
<pre><code>const user = {
  name: &#39;wooseongjeon&#39;,
  age: 28
}

// 점 표기법
console.log(user.name) // &#39;wooseongjeon&#39;
console.log(user.age) // 28

// 대괄호 표기법
console.log(user[&#39;name&#39;]) // &#39;wooseongjeon&#39;
console.log(user[&#39;age&#39;]) // 28</code></pre><p>점 표기법과 대괄호 표기법은 체이닝으로 작성 할 수 있습니다.</p>
<pre><code>const userA = {
  name: &#39;wooseongjeon&#39;,
  age: 28
}
const userB = {
  name: &#39;cherry&#39;,
  age: 8,
  parent: userA
}

console.log(userB.parent.name) // 점 표기법 // wooseongjeon // userB의 부모의 이름
console.log(userB[&#39;parent&#39;][&#39;name&#39;]) // 대괄호 표기법 // wooseongjeon // userB의 부모의 이름</code></pre><p>속성 삭제 (delete)</p>
<pre><code>const user = {
  name: &#39;wooseongjeon&#39;,
  age: 28
}

delete user.age

console.log(user) // { name: &#39;wooseongjeon&#39; }</code></pre><h2 id="3-함수">3. 함수</h2>
<p>자바스크립트에서 함수(function)는 1급 객체(First-class object)로,
하나의 값으로 변수나 인수 혹은 반환이 가능하다.</p>
<pre><code>function x() {
  return 123
}

console.log(typeof x) // function // x 자체의 타입
console.log(typeof x()) // number // x가 작동된 결과값의 타입

console.log(x) // f x() { return 123 } // x자체
console.log(x()) // 123                // x작동 결과값</code></pre><pre><code>const a = function () {
  console.log(&#39;Hi!&#39;)
}
const b = function (c) {
  console.log(c)
  c()
}
b(a)

ƒ () {
  console.log(&#39;Aa!&#39;)
}
Aa!</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[JavaScript - 자바스크립트 자료형]]></title>
            <link>https://velog.io/@woos_94/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%9E%90%EB%A3%8C%ED%98%95</link>
            <guid>https://velog.io/@woos_94/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%9E%90%EB%A3%8C%ED%98%95</guid>
            <pubDate>Wed, 04 Jan 2023 04:15:07 GMT</pubDate>
            <description><![CDATA[<h1 id="자료형">자료형</h1>
<hr>
<p><img src="https://velog.velcdn.com/images/woos_94/post/42dab167-04c8-4faf-860a-74be6dab1ce5/image.png" alt=""></p>
<h2 id="원시형">원시형</h2>
<h3 id="1-문자">1. 문자</h3>
<p>문자(string)은 따옴표를 사용한다.</p>
<pre><code>const st1 = &quot;wooseong&quot;
const st2 = &#39;jeon&#39;

// 템플릿 리터럴(보간 가능)
const str3 = `Good ${str2}`
console.log(str3) // `Good jeon`</code></pre><p><code>탬플릿 리터럴이란?</code>
<code>내장된 표현식을 허용하는 문자열 리터럴, 여러 줄로 이뤄진 문자열과 문자 보간기능을 사용할 수 있다.</code></p>
<p>따옴표는 총 3종류!</p>
<ul>
<li>큰 따옴표 : <code>&quot;하이&quot;</code></li>
<li>작은 따옴표 : <code>&#39;하이&#39;</code></li>
<li>백틱(그레이브) : <code>`하이`</code></li>
</ul>
<h3 id="2-숫자">2. 숫자</h3>
<p>숫자(number)은 정수 및 부동소수점 숫자(floating point number)를 나타낸다..</p>
<pre><code>const n1 = 123
const n2 = 12.345</code></pre><p>숫자가 아닌 숫자
<code>NaN</code> (Not-a-Number)은 숫자가 아닌 숫자를 나타낸다.</p>
<pre><code>const str = &#39;Hello World&#39;
console.log(Number(str)) // NaN</code></pre><pre><code>const num = &#39;123&#39;
console.log(num + undefined) // NaN</code></pre><h4 id="부동-소수점-오류-및-해결">부동 소수점 오류 및 해결</h4>
<p>컴퓨터로 숫자를 표현하는 한계로 10진수로 표현되는 소수를 2진수로 표현하려면 간혹 무한소수가 발생한다. 이를 유한하게 표현할 때 세부 값의 초과 및 손실로 계산 오류가 발생한다.</p>
<ul>
<li><code>숫자.toFixed(자릿수)</code> : 숫자를 고정 소수점 표기(자릿수)로 반환(문자)합니다.</li>
<li><code>parseFloat(값)</code> : 주어진 값을 파싱해서 부동소수점 실수로 반환(숫자)합니다.</li>
</ul>
<pre><code>const a = 0.1
const b = 0.2

a + b // 0.30000000000000004
parselFloat((a + b).toFixed(1)) // 0.3</code></pre><h3 id="3-불린">3. 불린</h3>
<p>불린(boolean)은 <code>ture</code> 와 <code>false</code> 두가지 값인 논리 데이터입니다.</p>
<pre><code>let a = true
let b = false</code></pre><h3 id="4-null">4. Null</h3>
<p>존재하지 않는(nothing), 비어 있는(empty), 알 수 없는(unknown) 값을 명시적으로 나타냅니다.</p>
<h3 id="5-undefined">5. Undefined</h3>
<p>&#39;값이 할당되지 않은 상태&#39;를 나타낼 때 사용합니다.
변수는 선언했지만, 값을 할당하지 않았다면 해당 변수에 <code>undefined</code> 가 자동으로 할당됩니다.</p>
<pre><code>let age
alert(age) // undefined</code></pre><pre><code>const user = {
    name: &#39;wooseong&#39;,
    age: 28
}

console.log(user.name)
console.log(user.age)
console.log(user.email) // undefined
console.log(user.abc) // undefined
console.log(user.xyz) // undefined</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[메가바이트스쿨 4기 4주차]]></title>
            <link>https://velog.io/@woos_94/%EB%A9%94%EA%B0%80%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%8A%A4%EC%BF%A8-4%EA%B8%B0-4%EC%A3%BC%EC%B0%A8</link>
            <guid>https://velog.io/@woos_94/%EB%A9%94%EA%B0%80%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%8A%A4%EC%BF%A8-4%EA%B8%B0-4%EC%A3%BC%EC%B0%A8</guid>
            <pubDate>Mon, 02 Jan 2023 05:29:57 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/woos_94/post/4a4bab44-b463-4095-81e1-e5a8080b05b1/image.png" alt=""></p>
<h1 id="새해부터-싱글벙글">새해부터 싱글벙글</h1>
<p>새해가 오고 패캠 메가바이트 스쿨 4기 4주차가 되었습니다~
기술 블로그로 만든 블로그이지만 
프로그래밍 관련 블로그로 만든 블로그이지만
개인 사담 일상글 올리는 제 네이버 블로그처럼 되어 버린거 같다...</p>
<p>아침 운동을 하고 정신없이 준비 어쩌다보니 그룹 리더가 되어 신경쓸게 너무 많습니다 ㅠㅠ
게다가 월요일 시작부터 그룹내에서 몇분의 의견이 사이드 프로젝트하려고 모인 그룹인데
그룹스터디 2주차인 현시점에 우리는 아무것도 한게없고 방향도 못 잡고 있다며 
극단적으로가면 조를 나가서 다른조로 가거나 아니면 조하나를 만들어야겠다 하셔서
1시간 반을 거진 회의했네요 ㅠㅠ
저희 조는 이미 관련 직에서 일하시는 분들과 직장다니시면서 들으시는 분들 3분과 직장을 얻기위해 시작하는 분들 3명(저 포함!)인데 내부에서 벌써 갈등이 생기네요.
협업이란 이런 것 인가...
물론 저는 이제 갓 시작한 따땃한 신입이라 뭐를 제시하시던 저는 부리나케 따라가는 입장이라 뒤에 한발 물러나있지만...
의견 제시하신 두분(빠르게 방향을 잡고 뭐라도 해야한다 주장) 입장이 이해가 됩니다.</p>
<p>어찌됬건 여유롭게 블로그 글 쓸 시간도 없네요...
하지만 패캠에서 블로그 글 써야 한다 하셔서 후하...
이만 글 올리고 갑니다...
여유가 생기면 기술글 올리는걸로...</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[메가바이트스쿨 프론트엔드 3주차]]></title>
            <link>https://velog.io/@woos_94/%EB%A9%94%EA%B0%80%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%8A%A4%EC%BF%A8-%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-3%EC%A3%BC%EC%B0%A8</link>
            <guid>https://velog.io/@woos_94/%EB%A9%94%EA%B0%80%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%8A%A4%EC%BF%A8-%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-3%EC%A3%BC%EC%B0%A8</guid>
            <pubDate>Wed, 28 Dec 2022 08:56:32 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/woos_94/post/55e5030a-ecbd-4e75-9409-622c4fb25ba9/image.png" alt="3주차_타임테이블">
벌써 3주차가 되었다...
현재 진도는 HTML과 CSS를 배우고 있는 중이고 이번주를 마지막으로 끝난다.
클론코딩 과제를 하고 있어 정신이 없다...
조금 쉬운걸 골랐어야 하는데 &#39;카카오 엔터프라이즈&#39;를 골라 하는데 신경써야 할게 많다ㅠㅠ</p>
<p><img src="https://velog.velcdn.com/images/woos_94/post/77429956-445d-4104-be58-ce2c14582aec/image.png" alt="">
어느정도 보면서 하고 있지만 거진 내마음대로 하고 있다.
카카오 엔터프라이즈는 왜인지는 모르겠지만 모든 글자를 span태그 안에 쓴다.
글자가 명확히 인라인요소 라는 것을 표현하는 것 인지 모르겠지만...
어디에 쓰던 무조건 span태그 안에 들어간다.
근데 나는 뭐 이유를 알면 똑같이 하겠지만 모르니 나는 안쓴다.</p>
<p>CSS중인데 자꾸 놓친게 보여 다시 HTML로 회귀한다...
정신이 없다. 정신이...
오늘 내일내로 최대한 css를 끝내고 목요일 즈음에 javascript를 좀 건드려봐야겠다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[메가바이트스쿨 프론트엔드 1주차 후기]]></title>
            <link>https://velog.io/@woos_94/%EB%A9%94%EA%B0%80%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%8A%A4%EC%BF%A8-%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-1%EC%A3%BC%EC%B0%A8-%ED%9B%84%EA%B8%B0</link>
            <guid>https://velog.io/@woos_94/%EB%A9%94%EA%B0%80%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%8A%A4%EC%BF%A8-%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-1%EC%A3%BC%EC%B0%A8-%ED%9B%84%EA%B8%B0</guid>
            <pubDate>Tue, 20 Dec 2022 04:40:21 GMT</pubDate>
            <description><![CDATA[<h1 id="1주차-후기">1주차 후기</h1>
<blockquote>
</blockquote>
<p>이 글은 급하게 쓰는 글이므로 정제된 글이 아닙니다~🍖</p>
<p><img src="https://velog.velcdn.com/images/woos_94/post/8fb93ee4-d2b6-411a-99c6-bd7bd9ccea60/image.png" alt="1주차_커리큘럼"></p>
<h2 id="git과-github">git과 github</h2>
<p>1주차 솔직히 HTML과 CSS 먼저 가르칠 줄 알았지만 생각지도 못한 git과 github를 배웠다.
git과 github 독학으로 하다가 정신이 없어 잠시 뒤로 하고 다른걸 공부 하고 있었는데
역시 고수는 다르다.
머리에 쏙쏙 들어왔다...
최우영 강사님이 가르쳐준 git과 github는 정말 좋았다.
1주차부터 만족이다.
git과 github를 알아야한다는 것은 알고 있었지만 왜 그런지 이유를 정확이 모르고 있었는데 배우고나니
이유를 명확히 알게 되었다.
개발블로그를 하는 것보다 github에 일일 일커밋을 올리는게 오히려 좋아 보인다.
(물론 사람마다 다를 것이다. 둘다 하면 더 좋다. 다다익선)
복습 및 인터넷 강의 시간도 따로 줘서 좋았다.
아무래도 비전공자이다 보니 좀 따라가기 힘든 부분이 있는데 그 부분을 복습 시간에 매꾸고 있다.</p>
<hr>
<h2 id="아이스브레이킹-2조">아이스브레이킹 2조</h2>
<p><img src="https://velog.velcdn.com/images/woos_94/post/4791e5f3-e825-4a79-97f7-082358c82615/image.png" alt="아이스브레이킹_2조_gitProject"></p>
<p>처음에 이게 뭔가 했다.
모두 zep에서 만나 조가 나누어지고 나는 2조가 되었다.
비대면으로 하는 수업이다보니 서로 어색함을 덜어내기위해 하는 짤막한 OT?같은 것 이였다.
2조는 솔직히 처음엔 상당히 조용했다.
MBTI가 다 I라 그런가...
하지만 다른 조는 어떤지 모르겠지만 점점 시간이 갈수록 뭔가 화목?한 분위기가 되었다.
1주일 밖에 안된 조이지만 1주일동안 나름 연습과 협업을 해보며 주말미션을 따로 조원끼리 만들어
github에 올려보았다.
복잡하고 일도 많았지만 나름 잘 만들어 올린 것 같다.😁
2주차부터는 그룹 스터디로 조가 모두 바뀌지만 다들 좋은 그룹원 만나서 잘 하시길 빈다.</p>
<hr>
<h2 id="github와-velog">github와 velog</h2>
<p><img src="https://velog.velcdn.com/images/woos_94/post/dd5aea54-d2d2-4bde-8a45-6fde796f1abf/image.png" alt="wooseongjeon_velog"><img src="https://velog.velcdn.com/images/woos_94/post/3326f321-2095-4a25-a4ec-ddba2d1fc351/image.png" alt="wooseongjeon_github"><a href="https://velog.io/@woos_94">https://velog.io/@woos_94</a>
<a href="http://github.com/wooseongjeon">http://github.com/wooseongjeon</a></p>
<p>velog와 github 계정을 만들었다.
강사님의 이야기와 커리어서비스 세미나를 들어보니 나와 같은 비전공자에 무경력자에게는
이 둘은 필수인 것 같다.
이력서에 쓸 한줄이 늘어난다는 것은 그만큼 내가 입사할 회사에 뭔갈 더 보여주는 것이니, 또한 내가 이만큼 노력하고 있다 어필하기 좋은 둘이다.
일일 일커밋과 TIL(Today I Learn) 또는 WIL(Weekly I Learn)을 통해 나의 꾸준함과 프로그램에 대한 열정을 보여줄 것 이다.
화이팅~😆</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[패스트캠퍼스 메가바이트스쿨 프론트엔드 4기 feat. 슬럼프 극복]]></title>
            <link>https://velog.io/@woos_94/%ED%8C%A8%EC%8A%A4%ED%8A%B8%EC%BA%A0%ED%8D%BC%EC%8A%A4-%EB%A9%94%EA%B0%80%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%8A%A4%EC%BF%A8-%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-4%EA%B8%B0-feat-%EC%8A%AC%EB%9F%BC%ED%94%84%EA%B7%B9%EB%B3%B5</link>
            <guid>https://velog.io/@woos_94/%ED%8C%A8%EC%8A%A4%ED%8A%B8%EC%BA%A0%ED%8D%BC%EC%8A%A4-%EB%A9%94%EA%B0%80%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%8A%A4%EC%BF%A8-%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-4%EA%B8%B0-feat-%EC%8A%AC%EB%9F%BC%ED%94%84%EA%B7%B9%EB%B3%B5</guid>
            <pubDate>Sun, 18 Dec 2022 16:46:27 GMT</pubDate>
            <description><![CDATA[<h1 id="패스트캠퍼스-메가바이트-스쿨-프론트엔드-4기-시작과-velog-시작">패스트캠퍼스 메가바이트 스쿨 프론트엔드 4기 시작과 velog 시작</h1>
<p><img src="https://velog.velcdn.com/images/woos_94/post/59ce7264-7bc9-4426-94e9-a760c6f73173/image.png" alt=""></p>
<blockquote>
</blockquote>
<h3 id="짧은-velog-시작-후기">짧은 velog 시작 후기...</h3>
<ol>
<li>velog는 신기하다.</li>
<li>velog는 html 파일 짜는거 같다.</li>
<li>velog는 단순한데 깔끔하다.</li>
<li>velog는 개발자에게 좋은 블로그 같다.</li>
<li>velog는 재미있을듯 하다.</li>
</ol>
<h2 id="패스트캠퍼스-메가바이트-스쿨-시작">패스트캠퍼스 메가바이트 스쿨 시작</h2>
<p><img src="https://velog.velcdn.com/images/woos_94/post/24d6dbf5-c864-4cff-93e0-5755864450cb/image.png" alt=""></p>
<p>12월 5일 내 생일이였다. 
12월 추워지기 시작하던 시기
k-digital leaning을 알고 두 곳을 신청하여 (두 곳 모두 프론트엔드)
오매불망 합격 소식을 기다리고 있었지만 신청한 코드스테이츠는 불합격...
생일날 혼자 기념으로 &#39;시현하다&#39;를 촬영하고 카페를 갔다가 따땃한 커피를 마시고
조용히 예약한 머리를 하러 강남으로 갔다.
솔직히 마음을 비우고 있었어서 합격통보 시간을 신경 쓰지 못해 멍때리며 지하철을 타던 도중
모르는 번호로 온 전화를 받았다.
패스트캠퍼스 메가바이트스쿨 합격 전화였다. 그렇게 시작되었다...</p>
<hr>
<h2 id="나는-국비-학원-경험자">나는 국비 학원 경험자</h2>
<p><img src="https://velog.velcdn.com/images/woos_94/post/778b4e4c-b6fa-41e0-b79b-41c7c3de76b4/image.png" alt=""></p>
<p>나는 국비학원 경험자이다.
지금 말하자면 솔직히 국비학원은 상당히 안 좋은 기억이다.
나는 코딩을 시작했을 때부터 프론트엔드 개발자가 되고 싶었다.
그래서 프론트엔드 국비학원을 찾아 상담을 받고 시작했지만
내가 들은 학원 강의는 퍼블리셔 강의였다.
정말 당황하고 화가 났던 부분이다.
이걸 깨달았었을 때는 이미 너무 늦었다.
유예기간인 일주일이 이미 지났기 때문이다.
그렇게 난 듣기 싫은 일러스트레이트와 포토샵을 강제로 들어야했다.
이것만으로 끝나면 솔직히 다행이다.
그러나 정말 나에게 중요했던 코딩 강의 또한 엉망이였다.
거진 4-5개월이란 시간동안 클론 코딩만 한거 같다...
JavaScript는 거진 다 복사 붙여넣기...
엉망이였다.</p>
<hr>
<h2 id="2022년-상반기는-내-인생-최악의-슬럼프였다">2022년 상반기는 내 인생 최악의 슬럼프였다.</h2>
<blockquote>
<p>슬럼프는 안개와 같다.
정신 차리지 않는다면 눈 깜박하는 사이에 날 감싸고 있을 것이다.
아무 것도 안 보이는 안개속을 해매는 것
어디로 가야되는지 모르고 해매는 것
그러다 주저앉게 되는 것</p>
</blockquote>
<p>슬럼프는 천천히 다가 왔다.
아니 사실 이미 왔는데 내가 몰랐던 것인가.
의욕없이 듣는 강의는 점점 듣기 싫어졌고 점점 부정적인 생각이 들었다.
아무것도 하고 싶지 않았다.
그렇게 스트레스를 받고 나는 69kg에서 89kg가 되었다.
20kg나 쩠다.
그리고 그쯤 국비학원 커리큘럼이 끝났다.
건강이 안 좋아진 신호가 몸에서 왔다.
소화불량, 역류성 식도염, 지방간, 고지혈증
심지어 조기 우울증 진단도 받았다.
최악이였다.</p>
<hr>
<h2 id="극복과-복귀">극복과 복귀</h2>
<blockquote>
<p>본인이 우울증이라 하는 사람들은 그냥 우울하게 사는 사람이다.</p>
</blockquote>
<p>아이러니하게 최악에 상황에 깨닫는다 했던가.
유투브에서 어떤 남자가 하는 이야기 영상을 봤다.
&quot;본인이 우울증이라 하는 사람들은 그냥 우울하게 사는 사람이다.&quot;
&quot;우울증은 없다.&quot;
맞다, 솔직히 검사를 받으면서 내가 우울증이라는게 웃겼다.
난 그런거 없는 사람이였다. 29년동안 그냥 내가 우울하게 지냈다.
하나씩 바꾸기 시작했다.
그만두었던 운동을 다시 시작했다.
처음 한달은 하루나가고 한달내내 안 나갔다.
하지만 처음이 힘들다 했다.
지금 3개월째 휴일로 지정한 일요일 빼고 주6일 운동중이다.
7kg이 빠졌다.
그리운 친구들을 모두 만났다.
국비학원을 다니는 동안 공부 핑계로 사람들을 안 만났지만 지금은 찾아가서라도 만난다.
주말에 알바를 시작했다.
카페 알바였는데 사실상 음식점에 가깝다.
좋은 사람들을 만났다.
그 사람들은 지금 그만뒀지만 아직도 연락하고 가끔 모여 만난다.
연말에도 모여 술을 마셨다.
내가 스스로 주최하여 고등학교 동창 송년회도 하였다.
지금 드는 생각은 이렇다.
&quot;우울하게 살지마라&quot;</p>
<hr>
<h2 id="패스트캠퍼스-메가바이트스쿨-일주일-후기">패스트캠퍼스 메가바이트스쿨 일주일 후기</h2>
<blockquote>
<p>국비학원 5개월 배운거 보다 메가바이트스쿨에서 일주일 배운게 더 크다.</p>
</blockquote>
<p>사설이 길었다.
나는 지금 상당히 만족한다.
솔직히 일주일도 안됬다.
시작한지 프론트엔드 4기 12월 12일에 시작하였다.
판단하기에는 일주일은 매우 짧을 수도 있지만 난 솔직히 좋다.
git과 github만 현재 배웠지만 나는 처음 알았다 이렇게 좋은게 있다니...
나는 국비학원에서 무슨 파일질라에 업로드해 포트폴리오 올렸었다.
그에 비하면 git과 github는 무슨 외계인 기술이다.
6개월이 남았다.
계속해서 후기와 TIL과 WIL을 올릴 생각이다.
정말 포기할까도 생각했었지만 지금처럼 뭔가를 하고 싶고 집중이 되는 시기가 인생에서 처음인거 같다.
나는 잘 될 것이다.</p>
]]></description>
        </item>
    </channel>
</rss>