728x90 ๋ฐ์ํ ๐ Language/Javascript9 [Swift] ๊ณ ๊ธ ์ฐ์ฐ์(Advanced Operator)๋? (feat. ๋นํธ์ฐ์ฐ์) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ ์ฐ์ฐํ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ '^=' ์ ๊ฐ์ ์ฐ์ฐ์๋ฅผ ๋ฐ๊ฒฌํ๋๋ฐ, ์ ํํ ์ด๋ค๊ฑด์ง ๋ชจ๋ฅด๊ฒ ๋๋ผ๊ตฌ์. ์ฐพ์๋ณด๋ ํด๋น ์ฐ์ฐ์๋ Swift์์ ๊ณ ๊ธ ์ฐ์ฐ์๋ก ๋ถ๋ฅํด ๋์๋๋ผ๊ตฌ์. ๊ทธ๋์ ์ค๋์ Swift์ ๊ณ ๊ธ ์ฐ์ฐ์์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~! UInt ์ฐ์ ๋ค์ด๊ฐ๊ธฐ ์ ์ UInt์ ๋ํ ์ดํด๊ฐ ํ์ํด์. ์๋ Int๋ ์ ์ ์ฆ, ์์์ ์์๋ฅผ ๋ชจ๋ ๊ฐ์ง ์ ์์์ฃ ? UInt๋ ์ด ์ค์์ ์์๋ง ๊ฐ์ง ์ ์์ต๋๋ค. (์์๋ฅผ ๋ฃ์ผ๋ฉด ์ปดํ์ผ ์๋ฌ ๋ฐ์) ๋ฒ์๋ก ๋ณด๋ฉด Int8 = -128...127 ์ด๊ณ , UInt8 = 0...256, Int16 = -322768...322767์ด๊ณ UInt16 = 0...65535 ์ ๋๋ค. ์ ์ํ ๋ณ์์ ๋นํธ๊ฐ ์ ๋ ฅํ.. 2022. 2. 26. [JS] ๋น๋๊ธฐ ์ฒ๋ฆฌํ๋ ๋ฒ ์์๋ณด๊ธฐ(Callback,Promise,Async & Await) ์๋ ํ์ธ์ Foma๐ป ์ ๋๋ค. ์ค๋๋ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ๋ฐฐ์ด Callback ํจ์์ Promise์ ๋ํด์ ์ ๊ฐ ์ดํดํ ๋ฐฉ์๋๋ก ์ ๋ฆฌํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ Callback Callback ํจ์๋ ์คํํ๋ ์ฆ์ ์๋ฃ๋๋ ๊ฒ์ด ์๋๋ผ ํน์ ์์ ์ ์คํํ๊ณ ๋ง์น ๋ค์ ์๋ฃ๋๋ค. ์ฆ, ๋น๋๊ธฐ์ ์ผ๋ก ์ฒ๋ฆฌ๋๋ ๊ฒ์ ์๋ฏธํ๋ค. ๋ง์ฝ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋๋ ์์ ์ด ์๋ค๋ฉด ์์ ์ด ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋๊ฑฐ๋ ์ค๊ฐ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ์ ์์ ์ด ์๋ฃ๋๋ค. ์ฝ๋ฐฑ ํจ์๊ฐ ์๋ฃ๋๋ ๊ฒฝ์ฐ๋ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์๊ฑฐ๋, ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฟ์ด๋ค. ์ฝ๋ฐฑ ํจ์๋ฅผ ์์ฑํ๋ ๋ฐฉ์์ ์ํ๋ ํ๋ผ๋ฏธํฐ ๊ฐ๊ณผ ํจ๊ป ์์ ์ ์คํํ ํจ์๋ฅผ ๋ฐ๋์ ๊ฐ์ด ๋ฃ์ด์ค๋ค. function loadScript(src,callback) { let s.. 2022. 2. 15. [JS] Static,Protected,Private์ ๋ํด ์์๋ณด๊ธฐ ์๋ ํ์ธ์ Foma๐ป ์ ๋๋ค! ์ค๋๋ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐฐ์ด Static,Protected,Private ์ ๋ํด ์ ๊ฐ ์ดํดํ ๊ฒ์ ๋ฐํ์ผ๋ก ์ ๋ฆฌํด ๋ณด๋ ค๊ณ ํฉ๋๋ค! ๋ฐ๋ก ์์ํ ๊ฒ์~ Static Static์ ์ ์ ์ด๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ด, ๋ณํ์ง ์๋๋ค๋ ๋ป์ด๋ค. ์ด๊ฒ์ ์ด์ฉํ์ฌ ์ ์ ๋ฉ์๋, ํ๋กํผํฐ๋ฅผ ๋ง๋ค ์ ์๋ค. ์ฝ๊ฒ ๋งํ๋ฉด ํด๋์ค์์ ๊ณตํต์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ๋ถ๋ถ์ด๋ ๊ธฐ๋ฅ์ ๋ฏธ๋ฆฌ ์ ์ํด ๋๋ ๊ฒ์ด๋ค. Static Property class Person { //๋ชจ๋ ์ฌ๋์ด ๋์ผํ๊ฒ ๊ฐ์ง๊ณ ์๊ณ ๋ณํ์ง ์๋ ๊ฐ static planet = "์ง๊ตฌ" } //ํด๋์ค ์์ฒด์์ ๋ฐ๋ก ์ฝ๊ธฐ ๊ฐ๋ฅ console.log(Person.planet) //์ง๊ตฌ Static Method class User { co.. 2022. 2. 15. [JS] ํด๋์ค(Class) ๊ธฐ๋ณธ ๋ฌธ๋ฒ๊ณผ ์์ ์๋ ํ์ธ์ Foma๐ป ์ ๋๋ค! ์ด๋ฒ ๊ธ๋ ์ญ์ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐฐ์ด 'ํด๋์ค'๋ฅผ ์ ๊ฐ ์ดํดํ ๋ฐฉ์์ผ๋ก ๋ณต์ตํ๋ ์ฐจ์์์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ ํด๋์ค๋? ํด๋์ค๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ ํน์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋ณ์์ ๋ฉ์๋๋ฅผ ์ ์ํ๋ ์ผ์ข ์ ํ๋ก, ๊ฐ์ฒด๋ฅผ ์ ์ํ๊ธฐ ์ํ ์ํ(๋ฉค๋ฒ ๋ณ์)์ ๋ฉ์๋(ํจ์)๋ก ๊ตฌ์ฑ๋๋ค. - ์ํค ๋ฐฑ๊ณผ - ์ฆ, ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ฝ๊ฒ ๋ฏธ๋ฆฌ ํ์ ๋ง๋ค์ด ๋๋ ๊ฒ์ ๋๋ค. ํด๋์ค ์์ฑํ๊ธฐ ์์ ํด๋์ค๋ฅผ ๋ถ์ฌ์ค ๋ค constructor(์์ฑ์)๋ฅผ ์ด์ฉํด์ ์ด๊ธฐํ ํด์ค๋ค. ๋ฉ์๋๋ ํ๋กํผํฐ๋ฅผ ์์ฑํ๊ฑฐ๋ ์ถ๊ฐํ๋ ๋ฒ์ ์ผ๋ฐ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋์ ๋์ผํ๋ค. class Player { constructor(name) { this.height = 180 this.n.. 2022. 2. 12. [JS] ํ๋กํ ํ์ (Prototype) ๋ค๋ค๋ณด๊ธฐ ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค. ์ค๋๋ ์ญ์ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ๋ฐฐ์ด ํ๋กํ ํ์ ์ ๋ณต์ตํ๋ ์ฐจ์์์ ๋ค์ ํ๋ฒ ์ ๋ฆฌํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ Prototype์ด๋? ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ชจ๋ ๊ฐ์ฒด๋ ์จ๊น ํ๋กํผํฐ๋ก Prototype์ ๊ฐ์ง๊ณ ์๋ค. ์ด๊ฒ์ null์ด๊ฑฐ๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ ์ ์๋๋ฐ ์ด๊ฒ์ ํตํด์ ํด๋น ๊ฐ์ฒด์ ๊ธฐ๋ฅ(๋ฉ์๋)์ ๋ณต์ฌํ๊ฑฐ๋ ์ถ๊ฐํ ์ ์๋ค. ์ด๋ ๊ฒ ์ฐธ์กฐํ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํ์ฌ ๊ฐ์ฒด์ 'ํ๋กํ ํ์ '์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. Prototype ์ค์ ํ๊ธฐ 1. __proto__ ์ด๋์ ์๋ฅผ ์ง์นญํ๋ 'player'๋ผ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ let player = { firstName:"Young", lastName:"An", get fullName() { return this.firstName .. 2022. 2. 12. [JS] ํ๋กํผํฐ ์ต์ (ํ๋๊ทธ) ๋ค๋ฃจ๊ธฐ(Property Flag) ์๋ ํ์ธ์ Foma๐ป ์ ๋๋ค. ์ค๋์ ์๋ฐ์คํฌ๋ฆฝํธ์ ํ๋กํผํฐ ํ๋๊ทธ์ ๋ํด์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฌ์ดํธ์์ ๊ณต๋ถํ๋ ๊ฒ์ ๋ณต์ตํ๋ ์ฐจ์์์ ์ ๊ฐ ์ดํดํ ๋ฐฉ์์ผ๋ก ์ ์ด๋ณด๊ฒ ์ต๋๋ค! ๋ฐ๋ก ์์ํ ๊ฒ์~ Property Flag๋? ํ๋กํผํฐ๋ ๊ฐ ๋ฟ๋ง ์๋๋ผ ํ๋๊ทธ๋ผ ๋ถ๋ฆฌ๋ ํน๋ณํ ์์ฑ 3๊ฐ์ง๋ฅผ ๊ฐ์ง๋ค. 1. writable ํด๋น ํ๋กํผํฐ๋ฅผ ์์ ํ ์ ์๊ฒ ์ค์ ํ๋ ํ๋๊ทธ 2. enumrable ํด๋น ํ๋กํผํฐ๋ฅผ ๋์ดํ ์ ์๊ฒ ์ค์ ํ๋ ํ๋๊ทธ 3. configurable ํด๋น ํ๋กํผํฐ๋ฅผ ์ญ์ , ํ๋๊ทธ ์์ ์ด ๊ฐ๋ฅํ๊ฒ ์ค์ ํ๋ ํ๋๊ทธ Property Flag ํ์ธํ๋ ๋ฐฉ๋ฒ Object.getOwnPropertyDescriptor(๊ฐ์ฒด,ํ๋กํผํฐ๋ช )์ผ๋ก ํ์ธํ๊ณ , ์ด๊ธฐ์ ๋ชจ๋ true๋ก ์ค์ ๋์ด ์.. 2022. 2. 12. [JS] JSON๊ณผ ๊ฐ์ฒด ๋ค๋ฃจ๊ธฐ ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ JavaScript๋ก JSON๊ณผ ๊ฐ์ฒด๋ฅผ ๋ค๋ฃจ๋ ๋ฒ์ ๋ํด์ ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ ๊ฐ์ฒด๋ฅผ JSON์ผ๋ก ๋ฐ๊พธ๊ธฐ JSON.stringify(๊ฐ์ฒด) ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค. let user = { name:"foma", age:27, color:"Black", [Symbol("id")]:123 } let json = JSON.stringify(user) console.log(json) //{"name":"foma","age":27,"color":"Black"} ๋ง์ฝ ๋ฉ์๋๋ undefined๊ฐ์ ๊ฐ์ง ํ๋กํผํฐ๊ฐ ์๋ค๋ฉด ์๋์ผ๋ก ๋ฌด์ํฉ๋๋ค. user.sayHi = function() { print("sayHi") } user.somthing = un.. 2022. 2. 5. [JS] ๊ตฌ์กฐ๋ถํด(Destructuring) (feat. ์ฝ๊ฒ ๋ณ์ ๋ง๋ค๊ธฐ) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ JavaScript์์ ์์ฃผ ์ ์ฉํ๊ฒ ๋ณ์๋ฅผ ๋ง๋ค ์ ์๋ ๊ตฌ์กฐ๋ถํด์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ ๋ฐฐ์ด ๋ถํดํด์ ๋ณ์ ๋ง๋ค๊ธฐ ๋๊ดํธ๋ฅผ ์ด์ฉํด์ ๋ณ์์ ๊ฐ์ ํ ๋นํ ์ ์์ต๋๋ค. let arr = ["foma","gran"] let [foma,gran] = arr console.log(foma) //"foma" console.log(gran) //"gran" ๋ฌธ์์ด ๋ถํดํด์ ๋ณ์ ๋ง๋ค๊ธฐ ๋ฌธ์์ด์ ์ํ๋ ๋จ์๋ก ๋ถํดํ์ฌ ๋ณ์๋ก ๋ง๋ค ์ ์์ต๋๋ค. let fomagran = "foma,gran" let [foma,gran] = fomagran.split(',') console.log(foma) //"foma" console.log(gran) //"gra.. 2022. 2. 5. [JS] iOS ๊ฐ๋ฐ์๊ฐ ์ดํดํ๋ JavaScript ๊ธฐ์ด๋ฌธ๋ฒ (feat. Swift) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ผ๋ง ์ ์ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ก ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ๋งก๊ฒ ๋์์ต๋๋ค. JavaScript๋ฅผ ๊ณต๋ถํ๋ค๋ณด๋ Swift๋ ๋น์ทํ ๊ฒ๋ ์๊ณ ์๋ ๋ถ๋ถ๋ ๋ง๋๋ผ๊ตฌ์. ๊ทธ๋์ ์๋ ์ต์ํ๋ Swift๋ฅผ ๊ธฐ์ค์ผ๋ก JavaScript์ ๋ค๋ฅธ ์ ์ ๋ํด์๋ง ์ ๋ฆฌํด ๋ณด๋ ค๊ณ ํฉ๋๋ค! ๋ฐ๋ก ์์ํ ๊ฒ์~ ๋ณ์์ ์์ Swift์์ ์์๋ฅผ let,๋ณ์๋ฅผ var๋ก ์ด๋ค. let name = "Fomagran" //์์ var name = "Fomagran" //๋ณ์ JavaScript๋ ์์๋ฅผ const,๋ณ์๋ฅผ let์ด๋ผ๊ณ ์ด๋ค. ์ด๋ฏธ ์์ let์ ์ต์ํด ์๋ ์ํ๋ผ์.. ์ค์๋ฅผ ๋ง์ด ํ ๊ฒ ๊ฐ๋ค. const name = "Fomagran" //์์ let name = "Fomagran" //๋ณ์ ์ถ.. 2022. 2. 5. ์ด์ 1 ๋ค์ 728x90 ๋ฐ์ํ