Введение
Сокращенные операции, операции с запятыми, упрощенные условные операторы, советы по инициализации
Вчера одноклассник былвзрыв URLЗадал мне вопрос: как пишется это(data[key] = value, data) . Обычно при написании статей я даю некоторые намеки на эти навыки, думая, что эти навыки известны всем, что вызывает у Сяо Эр самоанализ.
Я надеюсь, что все смогут расти вместе и не отставать.
Многие люди могут уже знать эти методы, и если они знают, они温故知新, студенты, которые не понимают迎头追上. Поскольку это личный общий навык, он может быть не самым лучшим, если у вас есть одноклассник, который его знает, вы также можете его развить.一起成长.
операция короткого замыкания
Остальные операнды оцениваются по порядку, только если значение первого операнда не может определить результат логической операции. Давайте вспомним фразу, которую я часто повторял в средней школе:一真即真,一假即假.
правда это правда
一真即真Относится||Оператор ИЛИ, когда значение истинно, и прекратить оценку следующего.
По умолчанию
function test(name) {
name = name || 'Bar' ;
console.log(name)
}
// 输出 Bar
console.log(test());
Конечно, вы также можете использовать ES6.spreadсинтаксис для завершения значения по умолчанию, для получения дополнительных навыков параметра функции вы можете проверитьработа функции. Когда ES6 не поддерживается и т. д., когда требуется операция со значением по умолчанию,||Маленькая хитрость, которой стоит воспользоваться.
Упрощенный условный оператор
Во время разработки я иногда сталкивался с условным оператором, состоящим всего из одной строки кода:
if(!name) {
initName()
}
Я не знаю, почувствуют ли мои одноклассники, что это некрасиво, как и я, вы можете использовать это здесь||чтобы упростить код:
name || initName()
Подделка есть подделка
一假即假Относится&&Или оператор, когда значение ложно, он перестанет судить, а когда оно истинно, продолжит судить.
По умолчанию
При взятии некоторых свойств объекта свойства объекта могут бытьnullилиundefindВозникает ошибка:
const data = {
name: 'xiaoer',
age: 18,
company: null
}
// 抛出错误: Uncaught TypeError: Cannot read property 'name' of null
console.log(data.company.name)
это здесь&&соответствовать||Более практичное действие со значением по умолчанию можно написать, используя:
const data = {
name: 'xiaoer',
age: 18,
company: null
}
const name = data.company && data.company.name || 'no name';
Упрощенный условный оператор
Во время разработки я иногда сталкивался с условным оператором, состоящим всего из одной строки кода:
// 假设后端返回的用户数据为 data
const data = {
name: 'xiaoer',
age: 18,
company: null
}
if (data.company && data.company.name) {
initCompany();
}
&&а также||То же самое можно использовать для упрощения условных операторов:
data.company && data.company.name && initCompany();
оператор запятой
для цикла
При использовании цикла for вам может потребоваться перебрать более одного параметра, вы можете использовать выражения с запятыми:
сценарий
let i = 0, j = 0, times = 5;
for (let i = 0, j = 0; i < times; i++, j++, j++){
console.log(i, j);
}
выход
i:0, j:0
i:1, j:2
i:2, j:4
i:3, j:6
i:4, j:8
присваивание оператора
Иногда необходимо объявить сразу несколько переменных:
const a = 0,
b = 1,
c = 2;
// 输出 a, b, c
console.log(a, b, c);
// 下面操作都会报错
// 证明确实都是 const 常量
a = 2;
b = 1;
c = 1;
упрощенное заявление
При написании некоторых коротких функций это часто записывается следующим образом:
const ins = (x) => {
x++;
return x;
}
[{count: 1}].map((x) => {
x.count++;
return x;
})
Если есть много операций, которые нужно выполнить, это нужно написать подробно, чтобы другие могли прочитать, и разработка не одинока. Если это немного похоже на это, вы можете использовать оператор запятой для упрощения:
const ins = (x) => (x++, x)
[{count: 1}].map((x) => (x.count++, x));
обмен данными
Как поменять местами значения a и b без увеличения переменной.
let a = 1, b = 2;
a=[b, b=a][0]
Конечно, вы также можете использовать es6spreadНовый синтаксис делает:
let a = 1, b = 2;
[a, b]=[b, a]
спасибо здесьСюй Юнфэйа такжеодноклассник старый вордобавка.
разное
- Пойду смотреть на выходных
演唱会Кстати, соберитесь с друзьями и коллегами и обновите заранее几篇文章Это не перерыв. -
函数参数骚操作повысился强制参数Соответствующий контент, вы можете вернуться и обновить.- Оригинальная ссылка:Функциональный параметр показывает работу
- Обновите некоторые ссылки:Манипуляции с аргументами функций — что нового
-
调试黑魔法повысился字符串妙用Соответствующий контент, вы можете вернуться и обновить.- Оригинальная ссылка:Отладка черной магии
- Обновите некоторые ссылки:Отладка черной магии — новые дополнения
Расти вместе
В запутанном городе неизбежно идти бок о бок
伙伴Давайте расти вместе.
- Если вы хотите, чтобы статью увидело больше людей, нажмите
点赞. - Если вы хотите мотивировать второго ребенка, вы можете перейти кGithubдать
小星星. - Если вы хотите больше общаться с Xiaoer, добавьте WeChat
m353839115.
Оригинал статьи изPushMeTop