const cnt = document.querySelector('.container')
тип можно вывести однозначно - это тип Element, а все потому, что TS знает, что значение в const точно не изменится и просто берет возвращаемый тип для document.querySelector и выводит подсказки для него.// @ts-check
в начало файла, и Вы получите сразу и больше подсказок, и некоторый контроль типов. Так же добавлю, что в js файлах можно аннотировать типы через jsdoc:// @ts-check
export class Page {
constructor(selector, options) {
/** @type Element */
this.$element = document.querySelector(selector)
this.$element // тут работают подсказки после точки для типа Element
}
}
declare module '*.css' {
const classes: Readonly<Record<string, string>>;
export default classes;
}
fetch(object.options.url,settings).then(function(response){
response.json();
})
.then(function(body){
console.log(body); // здесь всегда будет undefined, независимо от ответа
})
подумайте почему такруки бы оторвал...var db = event.target.result,storage,transaction,data;
Мне нужно, чтобы у меня убирались все символы после точки
const p = text.indexOf('.');
const result = p === -1 ? text : text.slice(0, p);
console.log(result);
пробовал вот так:text.replace(/\[.][A-Z]/, "");
Данная регулярка найдет первую точку, сразу за которой следует заглавная латинская буква и вырежет только конкретно это сочетание, что совсем не соответствует заданному вопросу. <template>
<swiper v-if="isShown" ref="mySwiper" :options="swiperOption">
<swiper-slide>
<div class="slideItem"></div>
</swiper-slide>
</swiper>
</template>
import { Swiper, SwiperSlide, directive } from 'vue-awesome-swiper'
import 'swiper/css/swiper.css'
export default {
name: 'SwiperCarousel',
components: {
Swiper,
SwiperSlide
},
data() {
return {
isShown: false,
swiperOption: {
// direction: 'vertical',
}
}
},
mounted() {
const media = window.matchMedia('(max-width:768px)');
const listener = e => this.isShown = e.matches;
listener(media);
media.addListener(listener);
this.$once('hook:beforeDestroy', () => media.removeListener(listener));
}
}
uint8_t main_buffer[512];
uint8_t cryptor;
cryptor = readCryptor();
if(cryptor != 0)
{
// вычислим ближайшую к cryptor степень 2 снизу
uint8_t pow2 = 0x80;
while((pow2 & cryptor) == 0) pow2 >>= 1;
while(readNext512Bytes(main_buffer))
{
// один большой цикл заменим на 2 маленьких
// k будет считать отрезки
// i будет считать позицию внутри отрезка
for(uint16_t k = 0; k < 512; k += pow2 << 1) for(uint8_t i = 0; i < pow2; i++)
{
uint8_t tmp;
tmp = main_buffer[i + k];
main_buffer[i + k] = main_buffer[(i + k) ^ cryptor];
main_buffer[(i + k) ^ cryptor] = tmp;
}
}
}
Желательно что бы мало весилрантайм минимален и только то, что по факту используется
мобильный браузер долго не обрабатывалкомпилируется в высокоэффективный нативный DOM api, что делает его мега быстрым
плагин хватало на стандартные функционалыНачать поиск отсюда можно
Что лучше?Ну как по мне Arch + Cinnamon вне конкуренции, а из любой убунты выпиливать дофига всего дольше чем арч собрать. Но это по мне. А что конкретно Вам зайдет можете сказать только Вы.
В чём отличие?xubuntu или Lubuntu
.then(lefts => {
return Promise.all(
lefts.map(left => models.db.l_d.findOne({where: {id: left.l_d.id}})
.then(ld => ld.getMains())
)
).then(mains => mains.flatMap((main, i) => main.map(m => ({
data: data.name,
dataId: data.Id,
left: lefts[i].name,
leftId: lefts[i].id,
main: m.name,
mainId: m.id,
linkId: m.ld_m.id
}))));
}).then(
result => console.log(result),
err => console.log(err)
)
Советую получше изучить промисы