๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ปStudy/JavaScript

๊ธฐ๋ณธ ํƒ€์ž…๊ณผ ํ‘œ์ค€ ๋ฉ”์†Œ๋“œ / ์—ฐ์‚ฐ์ž

* ๊ธฐ๋ณธ ํƒ€์ž…๊ณผ ํ‘œ์ค€ ๋ฉ”์†Œ๋“œ

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ธฐ๋ณธ ํƒ€์ž…(์ˆซ์ž, ๋ฌธ์ž์—ด, ๋ถˆ๋ฆฐ๊ฐ’)์— ๋Œ€ํ•ด ๊ฐ๊ฐ ํ˜ธ์ถœ ๊ฐ€๋Šฅํ•œ ํ‘œ์ค€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๊ณ  ์žˆ๋‹ค. ๊ธฐ๋ณธ ํƒ€์ž…์ด ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๊ฒฝ์šฐ์—๋Š”, ๋ฉ”์†Œ๋“œ ์ฒ˜๋ฆฌ ์ˆœ๊ฐ„์— ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜๋œ ํ›„ ํ‘œ์ค€ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์ด ๋๋‚˜๋ฉด ๋‹ค์‹œ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋Œ์•„์˜จ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ธฐ๋ณธ ํƒ€์ž…์€ ๊ฐ์ฒด๊ฐ€ ์•„๋‹˜์—๋„ ๊ฐ ํƒ€์ž…๋ณ„๋กœ ํ˜ธ์ถœ ๊ฐ€๋Šฅํ•œ ํ‘œ์ค€ ๋ฉ”์†Œ๋“œ๋“ค์„ ๋งˆ์น˜ ๊ฐ์ฒด์ฒ˜๋Ÿผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

var num = 0.5;
console.log(num.toExponential(1)); // 5.0e-1

console.log("stringtest".charAt(0)); // s

 

 

* ์—ฐ์‚ฐ์ž

 

1. + ์—ฐ์‚ฐ์ž

 

๋”ํ•˜๊ธฐ ์—ฐ์‚ฐ, ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ ๋‘ ๊ฐ€์ง€ ์ˆ˜ํ–‰์„ ํ•œ๋‹ค. ์ˆซ์ž+์ˆซ์ž์ผ ๊ฒฝ์šฐ ๋”ํ•˜๊ธฐ ์—ฐ์‚ฐ, ๋‚˜๋จธ์ง€ ๊ฒฝ์šฐ์—๋Š” ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

var a = 1 + 4;
var b = 2 + 'bb';
var c = 'cc' + 3;
var d = 'dd' + 'ee';

console.log(a); // 5
console.log(b); // 2bb
console.log(c); // cc3
console.log(d); // ddee

 

 

1+4๋ฅผ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ์—ฐ์‚ฐ์€ ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์œผ๋กœ ์ˆ˜ํ–‰๋˜์—ˆ๋‹ค.

 

 

 

2. typeof ์—ฐ์‚ฐ์ž

 

ํ”ผ์—ฐ์‚ฐ์ž์˜ ํƒ€์ž…์„ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ๋ฆฌํ„ดํ•œ๋‹ค.

 

var num = 1;
var str = 'ss';
var boo = true;
var n = null;
var ud = undefined;
var obj = new Object();
var arr = [];
var func = function a(){ };

console.log(typeof num); // ์ˆซ์ž : number
console.log(typeof str); // ๋ฌธ์ž์—ด : string
console.log(typeof boo); // ๋ถˆ๋ฆฐ๊ฐ’ : boolean
console.log(typeof n); // null : object
console.log(typeof ud); // undefined : undefined
console.log(typeof obj); // ๊ฐ์ฒด : object
console.log(typeof arr); // ๋ฐฐ์—ด : object
console.log(typeof func); // ํ•จ์ˆ˜ : function

 

 

 

3. == (๋™๋“ฑ) ์—ฐ์‚ฐ์ž, === (์ผ์น˜) ์—ฐ์‚ฐ์ž

 

๋™๋“ฑ ์—ฐ์‚ฐ์ž, ์ผ์น˜ ์—ฐ์‚ฐ์ž ๋ชจ๋‘ ๋‘ ๊ฐ’์ด ๋™์ผํ•œ์ง€ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. == ์—ฐ์‚ฐ์ž๋Š” ๋น„๊ตํ•˜๋ ค๋Š” ํ”ผ์—ฐ์‚ฐ์ž์˜ ํƒ€์ž…์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ ํƒ€์ž… ๋ณ€ํ™˜์„ ๊ฑฐ์นœ ํ›„ ๋น„๊ตํ•˜๋ฉฐ, === ์—ฐ์‚ฐ์ž๋Š” ํƒ€์ž…์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ์—๋„ ํƒ€์ž… ๋ณ€ํ™˜์„ ํ•˜์ง€ ์•Š๊ณ  ๋น„๊ตํ•œ๋‹ค๋Š” ์ฐจ์ด์ ์ด ์žˆ๋‹ค.

 

console.log(1 == '1'); // true
console.log(1 === '1'); // false

 

1 == '1'์—์„œ ํ”ผ์—ฐ์‚ฐ์ž ๋‘˜์˜ ํƒ€์ž…์ด ๋‹ค๋ฅด๋ฏ€๋กœ, ๋ฌธ์ž์—ด '1'์„ ์ˆซ์ž 1๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๋น„๊ตํ•˜์˜€๊ณ  ๊ทธ ๊ฒฐ๊ณผ true๊ฐ€ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค. 1 === '1'์˜ ๊ฒฝ์šฐ ๋‘˜์˜ ํƒ€์ž…์ด ๋‹ค๋ฅผ ๋•Œ๋Š” ํ•ญ์ƒ false๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

 

== ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํƒ€์ž… ๋ณ€ํ™˜์— ๋”ฐ๋ฅธ ์ž˜๋ชป๋œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋Œ€๋ถ€๋ถ„์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋”ฉ ๊ฐ€์ด๋“œ์—์„œ๋Š” === ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค. jQuery ์ฝ”๋”ฉ ๊ฐ€์ด๋“œ ๋ผ์ธ์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ === ์—ฐ์‚ฐ์ž๋ฅผ ๊ถŒํ•˜๊ณ  ์žˆ๋‹ค.

 

 

 

4. !! ์—ฐ์‚ฐ์ž

 

!! ์—ฐ์‚ฐ์ž๋Š” ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ถˆ๋ฆฐ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

 

 

console.log(!!0); // false
console.log(!!1); // true
console.log(!!'str'); // true
console.log(!!''); // false
console.log(!!true); // true
console.log(!!false); // false
console.log(!!null); // false
console.log(!!undefined); // false
console.log(!!{}); // true
console.log(!![]); // true