๊ด๊ณํ, ๊ฐ์, ๊ฐ์ฐ ๋ฐ ๊ณฑ์ ์ฐ์ฐ์๋ฅผ ์ฌ์ ์ํ ์ ์๋ค๋ฉด ๋ง์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ๋จ์ํํ ์ ์์ต๋๋ค.
์ด๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง์ ๋ํ ๋์ ์ด๊ธฐ ์๊ฐ์ JavaScript๋ก ์ปดํ์ผํ ๋ ํจ์๊ฐ ์ฐ์ฐ์๋ฅผ ํจ์๋ก ๋์ฒดํ๋ค๋ ๊ฒ์ ๋๋ค.
class MyClass {
constructor() {
}
public Operator > (value: any):boolean {
// compare value
}
}
var myClass = new MyClass();
if(myClass > otherValue){
// Do stuff
}
๋ค์์ด ๋ฉ๋๋ค.
var MyClass = (function () {
function MyClass() {
}
MyClass.prototype.greaterThan = function (value) {
// compare value
};
return MyClass;
})();
var myClass = new MyClass();
if (myClass.greaterThan(otherValue) {
// do Stuff
}
์ฐ๋ฆฌ๊ฐ ํผํ๋ ํ ๊ฐ์ง๋ ์ ํ ๊ธฐ๋ฐ ๋ฐฉ์ถ์ ๋๋ค. ์์ด๋์ด๋ TypeScript ์ ํ์ด ๋ฐํ์์ ์๋ฌด๋ฐ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ์ฝ๋๋ ์ฌ๋ฌ๋ถ์ด ์์ฑํ ์ ์ฌํ JavaScript์ ๊ฐ๊น์ต๋๋ค. ์ด๋ฅผ ๊ฐ์ํ ๋ ์ฐ์ฐ์๋ฅผ ๋ฉ์๋ ํธ์ถ๋ก ๋์ฒดํ๋ ๊ฒ์ ์ด์ ๋ฐํ๋ ๊ฒ์ ๋๋ค.
๊ทธ ์ธ์ ์ด๊ฒ์ #2319์ ๊ด๋ จ์ด ์์ผ๋ฏ๋ก ์ค๋ณต์ผ๋ก ๋ซ๋๋ก ํ๊ฒ ์ต๋๋ค.
typescript๋ก ORM ํ๋ ์์ํฌ๋ฅผ ์์ฑํ์ต๋๋ค. ์ฌ์ ํ ์๋กญ๊ณ ํ์ฌ mysql๋ง ์ง์ํฉ๋๋ค. ๊ทธ ์ํคํ
์ฒ๋ ์ํฐํฐ ํ๋ ์์ํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
https://www.npmjs.com/package/es-entity
์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ์ ํ์ฑํํ๋ฉด ์ฟผ๋ฆฌ์ ๊ฐ์ 'LINQ' ์์ฑ์ด ์ง์๋ฉ๋๋ค.
์คํ์ ๊ตฌํ ๋ฐ ์ปดํ์ผ๋ฌ ์ต์
์ด ์๋ ๋ฐ์ฝ๋ ์ดํฐ ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ์ ํ์ ํ์ฅ์ผ๋ก ์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด๊ฒ์ typescript์์ ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
typescript๋ก ORM ํ๋ ์์ํฌ๋ฅผ ์์ฑํ์ต๋๋ค. ์ฌ์ ํ ์๋กญ๊ณ ํ์ฌ mysql๋ง ์ง์ํฉ๋๋ค. ๊ทธ ์ํคํ ์ฒ๋ ์ํฐํฐ ํ๋ ์์ํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
https://www.npmjs.com/package/es-entity
์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ์ ํ์ฑํํ๋ฉด ์ฟผ๋ฆฌ์ ๊ฐ์ 'LINQ' ์์ฑ์ด ์ง์๋ฉ๋๋ค.
์คํ์ ๊ตฌํ ๋ฐ ์ปดํ์ผ๋ฌ ์ต์ ์ด ์๋ ๋ฐ์ฝ๋ ์ดํฐ ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ์ ํ์ ํ์ฅ์ผ๋ก ์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด๊ฒ์ typescript์์ ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.