ECMA
https://ko.wikipedia.org/wiki/ECMA%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8
ECMA์คํฌ๋ฆฝํธ - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์
์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ . ECMA์คํฌ๋ฆฝํธ(ECMAScript, ๋๋ ES[1])๋, Ecma International์ด ECMA-262 ๊ธฐ์ ๊ท๊ฒฉ์ ๋ฐ๋ผ ์ ์ํ๊ณ ์๋ ํ์คํ๋ ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋งํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ
ko.wikipedia.org
JS = ES
String
๋ฌธ์๋ฐ์ดํฐ๋ ํฐ๋ฐ์ดํ, ์์๋ฐ์ดํ, ๋ฐฑํฑ(`)๋ก ๋ง๋ค ์ ์์.
๋ฐฑํฑ์ ${} ๋ฐ์ดํฐ(ํ ํ๋ฆฟ ๋ฆฌํฐ๋ด) ๋ฅผ ๋ฌธ์์ด์ ์ฐ๊ฒฐํ ๋ ์ฌ์ฉ (๋ณด๊ฐ)
๋ฆฌํฐ๋ด : ๊ธฐํธ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ง๋๋ ๋ฐฉ์.
number์ undefined๋ฅผ ๋ํ๊ฒ ๋๋ฉด NaN (Not a Number)์ด ์ถ๋ ฅ ๋จ.
NaN์ ์ซ์ ํ์ ์ด์ง๋ง ์ซ์๋ก ํํํ ์ ์์.
typeof ๋ฅผ ๋ถ์ด๋ฉด ํด๋น ๋ฐ์ดํฐ์ ํ์ ์ ์ ์ ์์.
const a = 0.1;
const b = 0.2;
console.log(a + b);
// ๊ฒฐ๊ณผ 0.30000000000000004
console.log((a + b).toFixed(1));
// ๊ฒฐ๊ณผ 0.3 (๋ฌธ์๋ฐ์ดํฐ)
console.log(Number((a + b).toFixed(1)));
// ๊ฒฐ๊ณผ 0.3 (์ซ์๋ฐ์ดํฐ)
let : ์ฌํ ๋น ๊ฐ๋ฅ์ฑ์ด ์๋ ๋ฐ์ดํฐ.
null(๋ช ์์ ) : ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ์ง ์๊ฑฐ๋ ๋น์ด์๋ค.
undefined(์์์ ) : ๊ฐ์ด ํ ๋น๋์ด ์์ง ์๋ค. ๊ธฐ๋ณธ ๋ณ์์ ์๋ฌด๊ฒ๋ ํ ๋น๋์ง ์์์ ๋.
Array ๋ฐฐ์ด
const fruits = new Array('Apple','Banana','Cherry');
const fruits2 = ['Apple','Banana','Cherry']; // ๋ฐฐ์ด ๋ฆฌํฐ๋ด
fruits[0] ๋๊ดํธ ํ๊ธฐ๋ฒ. ์ธ๋ฑ์ฑ.
Apple ์ ๋ฐฐ์ด์ ์์ดํ = ๋ฐฐ์ด์ ์์ = Array์ element
Object ๊ฐ์ฒด
// ์์ฑ์ ํจ์
const name = new Object();
user.name = "YEJIN";
user.age = 28;
// ๋ฆฌํฐ๋ด ๋ฐฉ์
const user = {
name: "YEJIN",
age: 28,
};
console.log(user.name); // ์ ํ๊ธฐ๋ฒ
console.log(user["name"]); // ๋๊ดํธํ๊ธฐ๋ฒ. ๋ณ์ ์ด์ฉ ๊ฐ๋ฅ.
key : value ํํ๋ก ๋ง๋ค์ด์ง.
key : ์์ฑ, property / value : ๊ฐ
key๋ ๊ณ ์ ํ๊ณ ์์๋ผ๋ ๊ฐ๋ ์ด ์กด์ฌํ์ง ์์. ๋จผ์ ๋ง๋ค์๋ค๊ณ ๋จผ์ ์ถ๋ ฅ๋์ง ์์.
์ผ์น, ๋๋ฑ ์ฐ์ฐ์
=== ์ผ์น. 1์ด๋ '1'์ ๋ค๋ฆ. ๊ฐ์ ํ์ ์ธ์ง๋ ํ์ธ.
== ๋๋ฑ. 1์ด๋ '1'์ด ๊ฐ์. 0์ด๋ false๋ ๊ฐ์. ํ๋ณํ์ด ๋จ.
์ฐธ๊ณผ ๊ฑฐ์ง
๊ฑฐ์ง : false, 0, null, undefined, NaN, '', 0n ( Big Int)
๋น ๋ฐฐ์ด([])์ธ ๊ฒฝ์ฐ๋ ์ฐธ์ ๋ค์ด๊ฐ.
๋ฐ์ดํฐ ํ์ ํ์ธ
typeof๋ก๋ null์ด๋ [] , {}์ object๋ก ๋์ด.
[].constructor => Array
{}.constructor => Object
null.constructor => ์๋ฌ ๋ฐ์
Object.prototype.toString.call(null) => [Object Null]
Object.prototype.toString.call(null).slice(8,-1) => Null
function checkType(data) {
return Object.prototype.toString.call(data).slice(8, -1);
}
'๊ฐ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ ธ๋ง๋์ฝ๋] Next.js ์์ํ๊ธฐ Introduction (0) | 2025.01.31 |
---|---|
[ํจ์คํธ์บ ํผ์ค ๊ฐ์] ์ฐ์ฐ์์ ๊ตฌ๋ฌธ (0) | 2024.12.31 |
[ํจ์คํธ์บ ํผ์ค ๊ฐ์] NODEJS (0) | 2024.03.18 |
[ํจ์คํธ ์บ ํผ์ค ๊ฐ์] HTML ํต์ฌ ์ ๋ฆฌ (0) | 2024.02.20 |
[ํจ์คํธ ์บ ํผ์ค ๊ฐ์] HTML ๊ฐ์ (0) | 2024.02.20 |