μμμλ£ν(Primitive Types)
Javascriptμμ μμμλ£ν(Primitive)
μ΄λ κ°μ²΄κ° μλλ©΄μ λ©μλλ κ°μ§μ§ μλ λ°μ΄ν°μ
λλ€.
λλΆλΆμ κ²½μ°, μμ κ°μ μΈμ΄ ꡬν체μ κ°μ₯ μ κΈν(Low Level) λ¨κ³μμ λνλ©λλ€.
λͺ¨λ μμ κ°μ λΆλ³νμ¬ λ³νν μ μμ΅λλ€.
μμ κ° μ체μ, μμ κ°μ ν λΉν λ³μλ₯Ό νΌλνμ§ μλ κ²μ΄ μ€μν©λλ€.
λ³μλ μλ‘μ΄ κ°μ λ€μ ν λΉν μ μμ§λ§, μ΄λ―Έ μμ±ν μμ κ°μ κ°μ²΄, λ°°μ΄, ν¨μμλ λ¬λ¦¬ λ³νν μ μμ΅λλ€.
<μμ 1>
λ€μ μμ λ μμ κ°μ΄ λΆλ³ν¨μ μ΄ν΄ν λ λμμ΄ λ©λλ€.
// λ¬Έμμ΄ λ©μλλ λ¬Έμμ΄μ λ³ννμ§ μμ
var bar = "baz";
console.log(bar); // baz
bar.toUpperCase();
console.log(bar); // baz
// λ°°μ΄ λ©μλλ λ°°μ΄μ λ³νν¨
var foo = [];
console.log(foo); // []
foo.push("plugh");
console.log(foo); // ["plugh"]
// ν λΉμ μμ κ°μ μλ‘μ΄ κ°μ λΆμ¬ (λ³νμ΄ μλ)
bar = bar.toUpperCase(); // BAZ
Copy to Clipboard
μμ κ°μ κ΅μ²΄ν μλ μμ§λ§, μ§μ λ³νν μλ μμ΅λλ€.
<μμ 2>
// μμ κ°
let foo = 5;
// μμ κ°μ λ³κ²½ν΄μΌ νλ ν¨μ μ μ
function addTwo(num) {
num += 2;
}
// κ°μ μμ
μ μλνλ λ€λ₯Έ ν¨μ
function addTwo_v2(foo) {
foo += 2;
}
// μμ κ°μ μΈμλ‘ μ λ¬ν΄ 첫 λ²μ§Έ ν¨μλ₯Ό νΈμΆ
addTwo(foo);
// νμ¬ μμ κ° λ°ν
console.log(foo); // 5
// λ λ²μ§Έ ν¨μλ‘ λ€μ μλ
addTwo_v2(foo);
console.log(foo); // 5
String
Javascriptμ String
νμ
μ ν
μ€νΈ λ°μ΄ν°λ₯Ό λνλΌ λ μ¬μ©ν©λλ€.String
μ 16λΉνΈ λΆνΈ μλ μ μ κ° "μμ"λ‘ κ΅¬μ±λ μ§ν©μΌλ‘, κ°κ°μ μμκ° String
μ ν μ리λ₯Ό μ°¨μ§ν©λλ€.
첫 λ²μ§Έ μμλ μΈλ±μ€ 0μ, κ·Έλ€μ μμλ μΈλ±μ€ 1, κ·Έλ€μμ 2, ... μ΄λ° μμΌλ‘ μ§νλ©λλ€.String
μ κΈΈμ΄λ κ·Έ μμ μμ μμ κ°μ΅λλ€.String
μ νΉμ§μΌλ‘λ
- μμλ°μ΄ν(''), ν°λ°μ΄ν(""), ν νλ¦Ώ 리ν°λ΄(``)λ‘ λ¬Έμμ΄μ ν λΉν μ μλ€.
- νΉν, ES6λΆν° λμ λ ν νλ¦Ώ 리ν°λ΄μ μ΄μ©νλ©΄, μ€ λ°κΏμ΄λ κ³΅λ°±μ΄ λͺ¨λ μ μ©λλ€.
Number
Javascriptλ Number
μ BigInt
λ κ°μ§μ λ΄μ₯ μ«μ νμ
μ κ°μ§κ³ μμ΅λλ€.Number
λ 64λΉνΈ λΆλμμμ νμμΌλ‘, λͺ¨λ μ«μλ₯Ό μ€μλ‘ μ²λ¦¬ν©λλ€.
var num_01 = 10; // μ μλ μ€μλ‘ μ²λ¦¬νλ€.
var num_02 = -10.05; // μ€μ
var num_03 = 10 / 0; // +Infinity
var num_04 = 10 / -0; // -Infinity
var num_05 = 1 * 'str'; // NaN
console.log(typeof num_01); // number
BigInt
BigInt
λ Number
μ μμ κ°μ΄ μμ μ μΌλ‘ λνλΌ μ μλ μ΅λμΉμΈ 2^53 - 1λ³΄λ€ ν° μ μλ₯Ό ννν μ μλ λ΄μ₯ κ°μ²΄μ
λλ€.
BigInt
μ Number
λ μ΄λ€ λ©΄μμ λΉμ·νμ§λ§ μ€μν μ°¨μ΄μ μ΄ μμ΅λλ€.
μ컨λ BigInt
λ λ΄μ₯ Math
κ°μ²΄μ λ©μλμ ν¨κ» μ¬μ©ν μ μκ³ , μ°μ°μμ Number
μ νΌν©ν΄ μ¬μ©ν μ μμ΅λλ€.
λ°λΌμ λ¨Όμ κ°μ μλ£νμΌλ‘ λ³νν΄μΌ ν©λλ€.
κ·Έλ¬λ, BigInt
κ° Number
λ‘ λ°λλ©΄ μ νμ±μ μμ μ μμΌλ μ£Όμν΄μΌ ν©λλ€.BigInt
λ μ μ 리ν°λ΄μ λ€μ n
μ λΆμ΄κ±°λ(10n)
ν¨μ BigInt()
λ₯Ό νΈμΆν΄ μμ±ν μ μμ΅λλ€.
const theBiggestInt = 9007199254740991n;
const alsoHuge = BigInt(9007199254740991);
// βͺ 9007199254740991n
const hugeString = BigInt('9007199254740991');
// βͺ 9007199254740991n
const hugeHex = BigInt('0x1fffffffffffff');
// βͺ 9007199254740991n
const hugeBin = BigInt(
'0b11111111111111111111111111111111111111111111111111111'
);
// βͺ 9007199254740991n
+, *, -, **, % μ°μ°μλ₯Ό Numberμ μ¬μ©νλ― BigIntμμλ μ¬μ©ν μ μμ΅λλ€. BigIntλ Numberμ μ격νκ² κ°μ§λ μμ§λ§ μ μ¬ν©λλ€.
BigInt
λ if, ||, &&, Boolean, !
μ²λΌ λΆλ¦¬μΈ λ³νμ΄ λ°μνλ κ³³μμλ Number
μ²λΌ λμν©λλ€.BigInt
λ Number
μ νΌν©ν΄ μ°μ°ν μ μμΌλ©°, μ΄λ TypeError
κ° λ°μν©λλ€.
Boolean
μ»΄ν¨ν° κ³Όνμμ Boolean
νμ
μ λ
Όλ¦¬μ μΈ λ°μ΄ν° μ νμ
λλ€.Boolean
μ μ°Έ(true)
νΉμ κ±°μ§(false)
κ°λ§μ κ°μ§ μ μμ΅λλ€.
Javascriptμμ Boolean
μ 쑰건μ μ΄λ€ μ½λ λΆλ¬Έμ΄ μ€νλμ΄μΌ ν μ§(μλ₯Ό λ€μ΄ if μ μμμ) λλ μ΄λ€ μ½λ λΆλ¬Έμ λ°λ³΅ν΄μΌ ν μ§(μλ₯Ό λ€μ΄ for λ¬Έ μμμ) κ²°μ νλ λ° μ°μ
λλ€.
μ΄μ²λΌ Boolean
νμ
μ μ£Όλ‘ μ‘°κ±΄λ¬Έμ μμ£Ό μ¬μ©νλ©° 0, -0, null, false, NaN, undefined, λΉ λ¬Έμμ΄ ("")μ falseλ‘ κ°μ£Όλ©λλ€.
λ¬Έμμ΄ false
λ₯Ό ν¬ν¨ν κ·Έ μΈ λͺ¨λ λ€λ₯Έ κ°μ μ΄κΈ°κ°μ true
λ‘ μ€μ ν©λλ€.
μλλ Boolean
μ΄ μ°μΌ μ μλ μμλ₯Ό 보μ¬μ£Όλ μ μ¬ μ½λ(μ€ν κ°λ₯ν μ½λκ° μλ)μ
λλ€.
**_Javascript if Statement_**
if(boolean conditional) {
//coding
}
if(true) {
console.log("boolean conditional resolved to true");
} else {
console.log("boolean conditional resolved to false");
}
**_Javascript for Loop_**
for(control variable; boolean conditional; counter) {
//coding
}
for(var i=0; i<4; i++) {
console.log("I print only when the boolean conditional is true");
}
Symbol
μ¬λ³Όμ ES6μμ μλ‘κ² μΆκ°λ νμ
μΌλ‘ λ³κ²½ λΆκ°λ₯ν μμ νμ
μ κ°μ΄λ€.
μ¬λ³Όμ μ£Όλ‘ μ΄λ¦μ μΆ©λ μνμ΄ μλ μ μΌν κ°μ²΄μ Property Keyλ₯Ό λ§λ€κΈ° μν΄ μ¬μ©ν©λλ€.
// μ¬λ³Ό keyλ μ΄λ¦μ μΆ©λ μνμ΄ μλ μ μΌν κ°μ²΄μ νλ‘νΌν° ν€
var key = Symbol('key');
console.log(typeof key); // symbol
var obj = {};
obj[key] = 'value';
console.log(obj[key]); // value
undefined
μ μΈ μ΄ν κ°μ ν λΉνμ§ μμ λ³μλ undefined
κ°μΌλ‘ μ΄κΈ°νλ©λλ€.
μ΄λ€ λ³μλ₯Ό λ§λ€κ³ κ·Έ κ°μ μ μν΄μ£Όμ§ μμμ λλ μ‘΄μ¬νμ§ μλ κ°μ²΄ νλ‘νΌν°μ μ κ·Όν κ²½μ° undefined
κ° λ°νλ©λλ€.
var x; // κ°μ ν λΉνμ§ μκ³ λ³μ μ μΈ
console.log("x's value is", x); // "x's value is undefined" μΆλ ₯
null
null
μ κ°λ°μκ° μλμ μΌλ‘ λ³μμ κ°μ΄ μλ€λ κ²μ λͺ
μν λ μ¬μ©ν©λλ€.
Javascriptλ λμλ¬Έμλ₯Ό ꡬλ³νλ―λ‘ null
μ Null, NULL
λ±κ³Ό λ€λ¦
λλ€.
null μ¬μ© μ, μ£Όμν μ
νμ
μ λνλ΄λ λ¬Έμμ΄μ λ°ννλ typeof
μ°μ°μλ‘ null
κ°μ μ°μ°ν΄λ³΄λ©΄ null
μ΄ μλ object
κ°μ΄ λμ΅λλ€.
μ΄λ Javascript μ΄κΈ° μ€κ³μμ μ€λ₯μ
λλ€.
var foo = null;
console.log(typeof foo); // object
λ°λΌμ null
νμ
μ νμΈν λλ typeof
μ°μ°μ λμ μΌμΉ μ°μ°μ(===)λ₯Ό μ¬μ©ν΄μΌ ν©λλ€.
var foo = null;
console.log(typeof foo === null); // false
console.log(foo === null); // true
'π₯ Front-End > JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JS] 4. μμμ νλ³ν, λͺ μμ νλ³ν, Nominal, ꡬ쑰ν, λ νμ΄ν (0) | 2022.03.31 |
---|---|
[JS] 5. == & === & typeof (0) | 2022.03.22 |
[JS] 3. κ° νμ (Value Type) & μ°Έμ‘° νμ (Reference Type) (0) | 2022.03.22 |
[JS] 1. Call Stack & Event Loop (0) | 2022.03.22 |
[JS] λ³μ (0) | 2022.03.22 |