Deep_Dev
article thumbnail

๐Ÿ“– ์—ฐ์‚ฐ์ž

  • ํ• ๋‹น ์—ฐ์‚ฐ์ž
  • ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž
  • ๋น„๊ต ์—ฐ์‚ฐ์ž
  • ์‚ผํ•ญ ์กฐ๊ฑด ์—ฐ์‚ฐ์ž
  • ๋ฒ”์œ„ ์—ฐ์‚ฐ์ž
  • ๋ถ€์šธ ์—ฐ์‚ฐ์ž
  • ๋น„ํŠธ ์—ฐ์‚ฐ์ž
  • ๋ณตํ•ฉ ํ• ๋‹น ์—ฐ์‚ฐ์ž
  • ์˜ค๋ฒ„ํ”Œ๋กœ ์—ฐ์‚ฐ์ž
  • ๊ธฐํƒ€ ์—ฐ์‚ฐ์ž

 

๐Ÿ“Œ  ๋น„๊ต ์—ฐ์‚ฐ์ž

๋‘ ๊ฐ’์„ ๋น„๊ตํ•  ๋•Œ ์‚ฌ์šฉ

A==B
A>=B
A<=B
A>B
A<B
A!=B

//

์ฐธ์กฐ๊ฐ€ ๊ฐ™๋‹ค.
A===B : A์™€ B๊ฐ€ ์ฐธ์กฐ(๋ ˆํผ๋Ÿฐ์Šค)ํƒ€์ž…์ผ ๋•Œ A์™€ B๊ฐ€ ๊ฐ™์€ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š”์ง€ ๋น„๊ตํ•˜์—ฌ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’ ๋ฐ˜ํ™˜

์ฐธ์กฐ๊ฐ€ ๊ฐ™์ง€ ์•Š๋‹ค.
A!==B

ํŒจํ„ด ๋งค์น˜
A~=B : A์™€ B์˜ ํŒจํ„ด์ด ๋งค์น˜๋˜๋Š”์ง€ ํ™•์ธํ•˜์—ฌ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’ ๋ฐ˜ํ™˜

 

 ๐Ÿ’ก ์ฐธ์กฐ ๋น„๊ต ์—ฐ์‚ฐ์ž 

  ์Šค์œ„ํ”„ํŠธ์˜ ์œ ์ผํ•œ ์ฐธ์กฐ ํƒ€์ž…์ธ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์—์„œ๋งŒ ์ฐธ์กฐ ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

  ์Šค์œ„ํ”„ํŠธ์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๋ชจ๋‘ ๊ตฌ์กฐ์ฒด๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’ ํƒ€์ž…์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’์˜ ๋น„๊ต ์—ฐ์‚ฐ์—๋Š” == ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ 

  ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์ธ ๊ฒฝ์šฐ์—๋งŒ === ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 

let valueA: Int = 3
let valueB: Int = 5
let valueC: Int = 5

let isSameValueAB: Bool = valueA == valueB // false
let isSameValueBC: Bool = valueB == valueC // true

let referenceA: SomeClass = SomeClass()
let referenceB: SomeClass = SomeClass()
let referenceC: SomeClass = referenceA

let isSameReferenceAB: Bool = referenceA === referenceB // false
let isSameReferenceAC: Bool = referenceA === referenceC // true

 

 

๐Ÿ“Œ ๋ฒ”์œ„ ์—ฐ์‚ฐ์ž

๊ฐ’(์ˆ˜)์˜ ๋ฒ”์œ„๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ

ํ์‡„ ๋ฒ”์œ„ ์—ฐ์‚ฐ์ž
A...B : A๋ถ€ํ„ฐ B๊นŒ์ง€์˜ ์ˆ˜๋ฅผ ๋ฌถ์–ด ๋ฒ”์œ„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค.

๋ฐ˜ํ์‡„ ๋ฒ”์œ„ ์—ฐ์‚ฐ์ž
A..<B : A์ด์ƒ B๋ฏธ๋งŒ

๋‹จ๋ฐฉํ–ฅ ๋ฒ”์œ„ ์—ฐ์‚ฐ์ž
A... : A์ด์ƒ์˜ ์ˆ˜
...A : A์ดํ•˜์˜ ์ˆ˜
..<A : A๋ฏธ๋งŒ์˜ ์ˆ˜

 

๐Ÿ“Œ ๊ธฐํƒ€์—ฐ์‚ฐ์ž

nil ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž
A??B : A๊ฐ€ nil์ด ์•„๋‹ˆ๋ฉด A๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , A๊ฐ€ nil ์ด๋ฉด B ๋ฐ˜ํ™˜

๋ถ€ํ˜ธ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์ž
-A : A(์ˆ˜)์˜ ๋ถ€ํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค.

์˜ต์…”๋„ ๊ฐ•์ œ ์ถ”์ถœ ์—ฐ์‚ฐ์ž
O! : O(์˜ต์…”๋„ ๊ฐœ์ฒด)์˜ ๊ฐ’์„ ๊ฐ•์ œ๋กœ ์ถ”์ถœํ•œ๋‹ค.

์˜ต์…”๋„ ์—ฐ์‚ฐ์ž
V? : V(์˜ต์…”๋„ ๊ฐ’)๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ถ”์ถœํ•˜๊ฑฐ๋‚˜, V(๋ฐ์ดํ„ฐ ํƒ€์ž…)๊ฐ€ ์˜ต์…”๋„์ž„์„ ํ‘œํ˜„

์˜ต์…”๋„ ๊ฐ•์ œ ์ถ”์ถœ ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ์€ ์ง€์–‘ํ•˜๋Š” ํŽธ์ด ์ข‹๋‹ค.

 

๐Ÿ“Œ nil ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž

์˜ต์…”๋„์„ ์‚ฌ์šฉํ• ๋•Œ ์•„์ฃผ ์œ ์šฉํ•œ ์—ฐ์‚ฐ์ž์ด๋‹ค. 

๋‹ค์Œ ๋‘ ์ฝ”๋“œ๋Š” ๊ฐ™์€ ์—ญํ• ์„ ํ•˜์ง€๋งŒ, ์•„๋ž˜์˜ nil ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์•ˆ์ „ํ•˜๊ณ  ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

let valueInt: Int = someOptionalInt != nil ? someOptionalInt! : 0
let valueInt: Int = someOptionalInt ?? 0