#typescript
🦉 зачем нужен
С использованием as const, TypeScript воспринимает все значения как литеральные константы. Это выражается в следующем:
1. Чтение значений: Теперь тип
2. Неизменяемые свойства: Свойства объекта errors становятся доступными только для чтения (read-only). Попытка изменить их приведет к ошибке компиляции.
Преимущества использования as const включают более строгую типизацию и предотвращение случайных изменений значений, что особенно важно в больших и сложных кодовых базах.
🦉 зачем нужен
as const
const errors = {
postConfirmTel: {},
postTel: {
409: 'Пользователь уже существует. Войдите в свою учетную запись',
}
} as const
С использованием as const, TypeScript воспринимает все значения как литеральные константы. Это выражается в следующем:
1. Чтение значений: Теперь тип
errors.postTel[409] будет точной строкой 'Пользователь уже зарегистрирован, войдите в учетную запись', а не просто string.2. Неизменяемые свойства: Свойства объекта errors становятся доступными только для чтения (read-only). Попытка изменить их приведет к ошибке компиляции.
Преимущества использования as const включают более строгую типизацию и предотвращение случайных изменений значений, что особенно важно в больших и сложных кодовых базах.
#боли
подумать как ввод в форму сделать отдельно а кнопку отдельно, но валидация находилась внутри ввода и ошибки выли там же
подумать как ввод в форму сделать отдельно а кнопку отдельно, но валидация находилась внутри ввода и ошибки выли там же
Forwarded from Настоящий JavaScript
Forwarded from Настоящий JavaScript
Forwarded from Programmer memes
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Настоящий JavaScript
Подсветка текста при поиске
#js
export const highlightText = (text, search) => {
if (!text){
return ''
}
if(!search){
return text
}
const regex = new RegExp(search, 'gi')
return text.replace(regex, matchedTxt => {
return `<span class="highlight">${matchedTxt}</span>`
})
}
v-html="highlightText(point.place, search)"
.highlight{
font-weight: 600;
}
#js
#планирование
понимание задачи - переписать тз своим языком, уточнить моменты, где есть вопросы, согласовать свое понимание с заказчиком
понимание задачи - переписать тз своим языком, уточнить моменты, где есть вопросы, согласовать свое понимание с заказчиком
#сервис
я считаю, что каналов связи с бизнесом может быть несколько, но доступ к информации, клиент должен получить из того канала, куда обратился. либо с ним должны связаться сами с предоставлением этой информации.
а вот прыгание по телефонам и объяснение каждому менеджеру свой запрос - это не про сервис, не про клиентоориентированность и не про заботу (как громогласно любят объявлять многие бизнесы)
я считаю, что каналов связи с бизнесом может быть несколько, но доступ к информации, клиент должен получить из того канала, куда обратился. либо с ним должны связаться сами с предоставлением этой информации.
а вот прыгание по телефонам и объяснение каждому менеджеру свой запрос - это не про сервис, не про клиентоориентированность и не про заботу (как громогласно любят объявлять многие бизнесы)
#vite #typescript
ошибка на @
tsconfig
перезапустить ide
ошибка на @
npm install --save-dev @types/node
tsconfig
{
"compilerOptions": {
"target": "ES2020",
"useDefineForClassFields": true,
"module": "ESNext",
"lib": [
"ES2020",
"DOM",
"DOM.Iterable"
],
"skipLibCheck": true,
"allowJs": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "preserve",
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true,
"paths": {
"@/*": [
"./src/*"
]
}
},
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"vite.env.d.ts",
"src/shared-kernel.d.ts"
]
}
перезапустить ide
#цитата
Нет смысла говорить о решении до того, как мы договоримся о задаче, и нет смысла говорить о шагах реа-лизации до того, как мы договоримся о решении.
- Эфрат Голбратт-Ашлаг (Efrat Goldratt-Ashlag)'
Нет смысла говорить о решении до того, как мы договоримся о задаче, и нет смысла говорить о шагах реа-лизации до того, как мы договоримся о решении.
- Эфрат Голбратт-Ашлаг (Efrat Goldratt-Ashlag)'